<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>Index (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">
<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="Index (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</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>
<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>
<main role="main">
<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<a href="#I:Z">Z</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup"><span class="typeNameLink">About</span></a> - Enum in <a href="org/apache/sis/setup/package-summary.html">org.apache.sis.setup</a></dt>
<dd>
<div class="block">Provides information about the Apache SIS running environment.</div>
</dd>
<dt><a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature"><span class="typeNameLink">AbstractAssociation</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">An instance of an <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">feature association role</a> containing the associated feature.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#%3Cinit%3E(org.apache.sis.feature.DefaultAssociationRole)">AbstractAssociation(DefaultAssociationRole)</a></span> - Constructor for class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Creates a new association of the given role.</div>
</dd>
<dt><a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature"><span class="typeNameLink">AbstractAttribute</span></a>&lt;<a href="org/apache/sis/feature/AbstractAttribute.html" title="type parameter in AbstractAttribute">V</a>&gt; - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">An instance of an <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">attribute type</a> containing the value of an attribute in a feature.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#%3Cinit%3E(org.apache.sis.feature.DefaultAttributeType)">AbstractAttribute(DefaultAttributeType&lt;V&gt;)</a></span> - Constructor for class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Creates a new attribute of the given type.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/AbstractCompleteness.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">AbstractCompleteness</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Presence and absence of features, their attributes and their relationships.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractCompleteness.html#%3Cinit%3E()">AbstractCompleteness()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractCompleteness.html" title="class in org.apache.sis.metadata.iso.quality">AbstractCompleteness</a></dt>
<dd>
<div class="block">Constructs an initially empty completeness.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractCompleteness.html#%3Cinit%3E(org.opengis.metadata.quality.Completeness)">AbstractCompleteness(Completeness)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractCompleteness.html" title="class in org.apache.sis.metadata.iso.quality">AbstractCompleteness</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/AbstractContentInformation.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">AbstractContentInformation</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Description of the content of a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/AbstractContentInformation.html#%3Cinit%3E()">AbstractContentInformation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/AbstractContentInformation.html" title="class in org.apache.sis.metadata.iso.content">AbstractContentInformation</a></dt>
<dd>
<div class="block">Constructs an initially empty content information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/AbstractContentInformation.html#%3Cinit%3E(org.opengis.metadata.content.ContentInformation)">AbstractContentInformation(ContentInformation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/AbstractContentInformation.html" title="class in org.apache.sis.metadata.iso.content">AbstractContentInformation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">AbstractCoordinateOperation</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">Describes the operation for transforming coordinates in the source CRS to coordinates in the target CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.MathTransform)">AbstractCoordinateOperation(Map&lt;String, ?&gt;, CoordinateReferenceSystem, CoordinateReferenceSystem, CoordinateReferenceSystem, MathTransform)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Creates a coordinate operation from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#%3Cinit%3E(org.opengis.referencing.operation.CoordinateOperation)">AbstractCoordinateOperation(CoordinateOperation)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Creates a new coordinate operation with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">AbstractCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">Coordinate reference system, defined by a <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">coordinate system</a>
 and (usually) a <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">datum</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystem)">AbstractCRS(Map&lt;String, ?&gt;, CoordinateSystem)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem)">AbstractCRS(CoordinateReferenceSystem)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">AbstractCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">The set of <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">coordinate system axes</a> that spans a given coordinate space.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis...)">AbstractCS(Map&lt;String, ?&gt;, CoordinateSystemAxis...)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Constructs a coordinate system from a set of properties and a sequence of axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#%3Cinit%3E(org.opengis.referencing.cs.CoordinateSystem)">AbstractCS(CoordinateSystem)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">AbstractDatum</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Specifies the relationship of a <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">Coordinate System</a> to the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#%3Cinit%3E(java.util.Map)">AbstractDatum(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Creates a datum from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#%3Cinit%3E(org.opengis.referencing.datum.Datum)">AbstractDatum(Datum)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Creates a new datum with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">AbstractDirectPosition</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">Default implementations of some <code>DirectPosition</code> methods, leaving the data storage to subclasses.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#%3Cinit%3E()">AbstractDirectPosition()</a></span> - Constructor for class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Constructs a direct position.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">AbstractElement</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Type of test applied to the data specified by a data quality scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#%3Cinit%3E()">AbstractElement()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Constructs an initially empty element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#%3Cinit%3E(org.opengis.metadata.quality.Element)">AbstractElement(Element)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#%3Cinit%3E(org.opengis.metadata.quality.Result)">AbstractElement(Result)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Creates an element initialized to the given result.</div>
</dd>
<dt><a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">AbstractEnvelope</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">Default implementations of most <code>Envelope</code> methods, leaving the data storage to subclasses.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#%3Cinit%3E()">AbstractEnvelope()</a></span> - Constructor for class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Constructs an envelope.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/AbstractFactory.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">AbstractFactory</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">Base class of factories provided in the Apache SIS library.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractFactory.html#%3Cinit%3E()">AbstractFactory()</a></span> - Constructor for class <a href="org/apache/sis/util/iso/AbstractFactory.html" title="class in org.apache.sis.util.iso">AbstractFactory</a></dt>
<dd>
<div class="block">Creates a new factory.</div>
</dd>
<dt><a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature"><span class="typeNameLink">AbstractFeature</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">An instance of a <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">feature type</a> containing values for a real-world phenomena.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#%3Cinit%3E(org.apache.sis.feature.DefaultFeatureType)">AbstractFeature(DefaultFeatureType)</a></span> - Constructor for class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Creates a new feature of the given type.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">AbstractGeographicExtent</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Base class for geographic area of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html#%3Cinit%3E()">AbstractGeographicExtent()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a></dt>
<dd>
<div class="block">Constructs an initially empty geographic extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html#%3Cinit%3E(boolean)">AbstractGeographicExtent(boolean)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a></dt>
<dd>
<div class="block">Constructs a geographic extent initialized with the specified inclusion value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html#%3Cinit%3E(org.opengis.metadata.extent.GeographicExtent)">AbstractGeographicExtent(GeographicExtent)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">AbstractGeolocationInformation</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Information used to determine geographic location corresponding to image location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html#%3Cinit%3E()">AbstractGeolocationInformation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html" title="class in org.apache.sis.metadata.iso.spatial">AbstractGeolocationInformation</a></dt>
<dd>
<div class="block">Constructs an initially empty geolocation information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html#%3Cinit%3E(org.opengis.metadata.spatial.GeolocationInformation)">AbstractGeolocationInformation(GeolocationInformation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html" title="class in org.apache.sis.metadata.iso.spatial">AbstractGeolocationInformation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">AbstractIdentification</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Basic information required to uniquely identify a resource or resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#%3Cinit%3E()">AbstractIdentification()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Constructs an initially empty identification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.CharSequence)">AbstractIdentification(Citation, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Creates an identification initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#%3Cinit%3E(org.opengis.metadata.identification.Identification)">AbstractIdentification(Identification)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">AbstractIdentifiedObject</span></a> - Class in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Base class for objects identified by a name or a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#%3Cinit%3E(java.util.Map)">AbstractIdentifiedObject(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Constructs an object from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#%3Cinit%3E(org.opengis.referencing.IdentifiedObject)">AbstractIdentifiedObject(IdentifiedObject)</a></span> - Constructor for class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Constructs a new identified object with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature"><span class="typeNameLink">AbstractIdentifiedType</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Identification and description information inherited by property types and feature types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#%3Cinit%3E(java.util.Map)">AbstractIdentifiedType(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Constructs a type from the given properties.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">AbstractInternationalString</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">Base class for character strings that has been internationalized into several locales.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractInternationalString.html#%3Cinit%3E()">AbstractInternationalString()</a></span> - Constructor for class <a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso">AbstractInternationalString</a></dt>
<dd>
<div class="block">Constructs an international string.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">AbstractLocation</span></a> - Class in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Identifiable geographic place.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#%3Cinit%3E(org.apache.sis.referencing.gazetteer.ModifiableLocationType,java.lang.CharSequence)">AbstractLocation(ModifiableLocationType, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Creates a new location for the given geographic identifier.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">AbstractLogicalConsistency</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Degree of adherence to logical rules of data structure, attribution and relationships.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.html#%3Cinit%3E()">AbstractLogicalConsistency()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">AbstractLogicalConsistency</a></dt>
<dd>
<div class="block">Constructs an initially empty logical consistency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.html#%3Cinit%3E(org.opengis.metadata.quality.LogicalConsistency)">AbstractLogicalConsistency(LogicalConsistency)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">AbstractLogicalConsistency</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">AbstractMathTransform</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Provides a default implementation for most methods required by the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>MathTransform</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#%3Cinit%3E()">AbstractMathTransform()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Constructor for subclasses.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">AbstractMathTransform.Inverse</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Base class for implementations of inverse math transforms.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">AbstractMathTransform1D</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Base class for math transforms that are known to be one-dimensional in all cases.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html#%3Cinit%3E()">AbstractMathTransform1D()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></dt>
<dd>
<div class="block">Constructor for subclasses.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">AbstractMathTransform1D.Inverse</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Base class for implementation of inverse math transforms.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">AbstractMathTransform2D</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Base class for math transforms that are known to be two-dimensional in all cases.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html#%3Cinit%3E()">AbstractMathTransform2D()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></dt>
<dd>
<div class="block">Constructor for subclasses.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">AbstractMathTransform2D.Inverse</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Base class for implementation of inverse math transforms.</div>
</dd>
<dt><a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata"><span class="typeNameLink">AbstractMetadata</span></a> - Class in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Provides basic operations using Java reflection for metadata implementations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#%3Cinit%3E()">AbstractMetadata()</a></span> - Constructor for class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Creates an initially empty metadata.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">AbstractName</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">Base class for sequence of identifiers rooted within the context of a <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">namespace</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#%3Cinit%3E()">AbstractName()</a></span> - Constructor for class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Creates a new instance of generic name.</div>
</dd>
<dt><a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature"><span class="typeNameLink">AbstractOperation</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Describes the behaviour of a feature type as a function or a method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractOperation.html#%3Cinit%3E(java.util.Map)">AbstractOperation(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></dt>
<dd>
<div class="block">Constructs an operation from the given properties.</div>
</dd>
<dt><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">AbstractParameterDescriptor</span></a> - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">Abstract definition of a parameter or group of parameters used by a coordinate operation or a process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#%3Cinit%3E(java.util.Map,int,int)">AbstractParameterDescriptor(Map&lt;String, ?&gt;, int, int)</a></span> - Constructor for class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">Constructs a parameter descriptor from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#%3Cinit%3E(org.opengis.parameter.GeneralParameterDescriptor)">AbstractParameterDescriptor(GeneralParameterDescriptor)</a></span> - Constructor for class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">Constructs a new parameter descriptor with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">AbstractParty</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Information about the individual and / or organization of the party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#%3Cinit%3E()">AbstractParty()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></dt>
<dd>
<div class="block">Constructs an initially empty party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#%3Cinit%3E(java.lang.CharSequence,org.opengis.metadata.citation.Contact)">AbstractParty(CharSequence, Contact)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></dt>
<dd>
<div class="block">Constructs a party initialized with the specified name and contact information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#%3Cinit%3E(org.apache.sis.metadata.iso.citation.AbstractParty)">AbstractParty(AbstractParty)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">AbstractPositionalAccuracy</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Accuracy of the position of features.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html#%3Cinit%3E()">AbstractPositionalAccuracy()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractPositionalAccuracy</a></dt>
<dd>
<div class="block">Constructs an initially empty positional accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.PositionalAccuracy)">AbstractPositionalAccuracy(PositionalAccuracy)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractPositionalAccuracy</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.Result)">AbstractPositionalAccuracy(Result)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractPositionalAccuracy</a></dt>
<dd>
<div class="block">Creates an positional accuracy initialized to the given result.</div>
</dd>
<dt><a href="org/apache/sis/referencing/AbstractReferenceSystem.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">AbstractReferenceSystem</span></a> - Class in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Description of a spatial and temporal reference system used by a dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractReferenceSystem.html#%3Cinit%3E(java.util.Map)">AbstractReferenceSystem(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/AbstractReferenceSystem.html" title="class in org.apache.sis.referencing">AbstractReferenceSystem</a></dt>
<dd>
<div class="block">Constructs a reference system from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractReferenceSystem.html#%3Cinit%3E(org.opengis.referencing.ReferenceSystem)">AbstractReferenceSystem(ReferenceSystem)</a></span> - Constructor for class <a href="org/apache/sis/referencing/AbstractReferenceSystem.html" title="class in org.apache.sis.referencing">AbstractReferenceSystem</a></dt>
<dd>
<div class="block">Constructs a new reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/AbstractResult.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">AbstractResult</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Type of test applied to the data specified by a data quality scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractResult.html#%3Cinit%3E()">AbstractResult()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractResult.html" title="class in org.apache.sis.metadata.iso.quality">AbstractResult</a></dt>
<dd>
<div class="block">Constructs an initially empty result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractResult.html#%3Cinit%3E(org.opengis.metadata.quality.Result)">AbstractResult(Result)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractResult.html" title="class in org.apache.sis.metadata.iso.quality">AbstractResult</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">AbstractSpatialRepresentation</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Method used to represent geographic information in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.html#%3Cinit%3E()">AbstractSpatialRepresentation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">AbstractSpatialRepresentation</a></dt>
<dd>
<div class="block">Constructs an initially empty spatial representation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.html#%3Cinit%3E(org.opengis.metadata.spatial.SpatialRepresentation)">AbstractSpatialRepresentation(SpatialRepresentation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">AbstractSpatialRepresentation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">AbstractTemporalAccuracy</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Accuracy of the temporal attributes and temporal relationships of features.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.html#%3Cinit%3E()">AbstractTemporalAccuracy()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractTemporalAccuracy</a></dt>
<dd>
<div class="block">Constructs an initially empty temporal accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.TemporalAccuracy)">AbstractTemporalAccuracy(TemporalAccuracy)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractTemporalAccuracy</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">AbstractThematicAccuracy</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Accuracy of quantitative attributes and the correctness of non-quantitative attributes
 and of the classifications of features and their relationships.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.html#%3Cinit%3E()">AbstractThematicAccuracy()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractThematicAccuracy</a></dt>
<dd>
<div class="block">Constructs an initially empty thematic accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.ThematicAccuracy)">AbstractThematicAccuracy(ThematicAccuracy)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractThematicAccuracy</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#accept(double)">accept(double)</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Updates statistics for the specified floating-point sample value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#accept(long)">accept(long)</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Updates statistics for the specified integer sample value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxisFilter.html#accept(org.opengis.referencing.cs.CoordinateSystemAxis)">accept(CoordinateSystemAxis)</a></span> - Method in interface <a href="org/apache/sis/referencing/cs/AxisFilter.html" title="interface in org.apache.sis.referencing.cs">AxisFilter</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given axis shall be included in the new coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#ACCESS_CONSTRAINT">ACCESS_CONSTRAINT</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "acces_constraint" attribute name for the access constraints applied to assure the protection of
 privacy or intellectual property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#ACKNOWLEDGEMENT">ACKNOWLEDGEMENT</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "acknowledgement" attribute name for a place to acknowledge various type of support for
 the project that produced this data (<em>Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#acosh(double)">acosh(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the inverse hyperbolic cosine of the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#acquireMarshaller()">acquireMarshaller()</a></span> - Method in class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">Returns a JAXB marshaller from the pool.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#acquireUnmarshaller()">acquireUnmarshaller()</a></span> - Method in class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">Returns a JAXB unmarshaller from the pool.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#add(double,double)">add(double, double)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Adds a point to this rectangle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#add(E)">add(E)</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Adds the specified code list element in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#add(E)">add(E)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Adds the specified element to this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#add(E)">add(E)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Adds the specified element to this set if it is not already present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#add(E,int)">add(E, int)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Repetitively adds the specified element to this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#add(E,E)">add(E, E)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Adds a range of values to this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#add(java.awt.geom.Rectangle2D)">add(Rectangle2D)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Adds an other rectangle to this rectangle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#add(java.lang.Integer)">add(Integer)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Adds the given element to this list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataWriter.html#add(java.lang.Object)">add(Object)</a></span> - Method in class <a href="org/apache/sis/metadata/sql/MetadataWriter.html" title="class in org.apache.sis.metadata.sql">MetadataWriter</a></dt>
<dd>
<div class="block">Adds the given metadata object to the database, if it does not already exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/WritableFeatureSet.html#add(java.util.Iterator)">add(Iterator&lt;? extends AbstractFeature&gt;)</a></span> - Method in interface <a href="org/apache/sis/storage/WritableFeatureSet.html" title="interface in org.apache.sis.storage">WritableFeatureSet</a></dt>
<dd>
<div class="block">Inserts new feature instances in this <code>FeatureSet</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#add(java.util.Locale,java.lang.String)">add(Locale, String)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Adds a string for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#add(org.apache.sis.math.Fraction)">add(Fraction)</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns the simplified result of adding the given fraction to this fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#add(org.apache.sis.measure.Range)">add(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Adds a range to this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/FeatureNaming.html#add(org.apache.sis.storage.DataStore,org.opengis.util.GenericName,E)">add(DataStore, GenericName, E)</a></span> - Method in class <a href="org/apache/sis/storage/FeatureNaming.html" title="class in org.apache.sis.storage">FeatureNaming</a></dt>
<dd>
<div class="block">Adds a value for the given name if none exist.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/WritableAggregate.html#add(org.apache.sis.storage.Resource)">add(Resource)</a></span> - Method in interface <a href="org/apache/sis/storage/WritableAggregate.html" title="interface in org.apache.sis.storage">WritableAggregate</a></dt>
<dd>
<div class="block">Adds a new <code>Resource</code> in this <code>Aggregate</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#add(org.opengis.geometry.DirectPosition)">add(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Adds a point to this envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#add(org.opengis.geometry.Envelope)">add(Envelope)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Adds an envelope object to this envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#add(org.opengis.metadata.extent.GeographicBoundingBox)">add(GeographicBoundingBox)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Adds a geographic bounding box to this box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#add(T)">add(T)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Ensures that this collection contains the specified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#addAll(java.util.Collection)">addAll(Collection&lt;? extends E&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Adds all elements of the given collection to this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#addAssociation(org.apache.sis.feature.DefaultAssociationRole)">addAssociation(DefaultAssociationRole)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new <code>FeatureAssociationRole</code> builder initialized to the same characteristics
 than the given template.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#addAssociation(org.apache.sis.feature.DefaultFeatureType)">addAssociation(DefaultFeatureType)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new <code>FeatureAssociationRole</code> builder for features of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#addAssociation(org.opengis.util.GenericName)">addAssociation(GenericName)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new <code>FeatureAssociationRole</code> builder for features of a type of the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#addAttribute(java.lang.Class)">addAttribute(Class&lt;V&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new <code>AttributeType</code> builder for values of the given class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#addAttribute(org.apache.sis.feature.DefaultAttributeType)">addAttribute(DefaultAttributeType&lt;V&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new <code>AttributeType</code> builder initialized to the same characteristics than the given template.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#addAttribute(org.opengis.metadata.acquisition.GeometryType)">addAttribute(GeometryType)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new attribute for geometries of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#addAuthorityCode(java.lang.String)">addAuthorityCode(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Ensures that this collection contains an object for the specified authority code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#addCharacteristic(java.lang.Class)">addCharacteristic(Class&lt;C&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Adds another attribute type that describes this attribute type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#addCharacteristic(org.apache.sis.feature.DefaultAttributeType)">addCharacteristic(DefaultAttributeType&lt;C&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Adds another attribute type that describes this attribute type, using an existing one as a template.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#addContextualUnit(javax.measure.Unit)">addContextualUnit(Unit&lt;Q&gt;)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Adds a unit to use for the next measurements of the quantity <code>Q</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#addElements(org.opengis.geometry.Envelope)">addElements(Envelope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Adds geographic, vertical or temporal extents inferred from the given envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#addFragment(java.lang.String,java.lang.String)">addFragment(String, String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Adds a fragment of Well Know Text (WKT).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#addGroup(java.lang.String)">addGroup(String)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Creates a new subgroup of the specified name, and adds it to the list of subgroups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#addGroup(java.lang.String)">addGroup(String)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Unsupported operation, since <code>ContextualParameters</code> groups do not contain sub-groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#addHandler(java.util.logging.Handler)">addHandler(Handler)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Do nothing since this logger adapter does not supports handlers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#addIdentification(java.lang.CharSequence)">addIdentification(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Adds a method of uniquely identifying location instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#addIdentifier(java.lang.String)">addIdentifier(String)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Adds an <code>IdentifiedObject</code> identifier given by a <code>String</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#addIdentifier(org.opengis.metadata.citation.Citation,java.lang.String)">addIdentifier(Citation, String)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Adds an <code>IdentifiedObject</code> identifier in an alternative namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#addIdentifier(org.opengis.referencing.ReferenceIdentifier)">addIdentifier(ReferenceIdentifier)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Adds an <code>IdentifiedObject</code> identifier fully specified by the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#addInt(int)">addInt(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Adds the given element as the <code>int</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#addLinearizers(java.util.Map,int...)">addLinearizers(Map&lt;String, MathTransform&gt;, int...)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Adds transforms to potentially apply on target coordinates before to compute the linear transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#addLinearizers(java.util.Map,int...)">addLinearizers(Map&lt;String, MathTransform&gt;, int...)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Adds transforms to potentially apply on target coordinates before to compute the transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#addListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">addListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Registers a listener to notify when the specified kind of event occurs in this data store or in a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStore.html#addListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">addListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation">LandsatStore</a></dt>
<dd>
<div class="block">Registers a listener to notify when the specified kind of event occurs in this data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#addListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">addListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Registers a listener to notify when the specified kind of event occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html#addListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">addListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStore</a></dt>
<dd>
<div class="block">Registers a listener to notify when the specified kind of event occurs in this data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#addListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">addListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Registers a listener to notify when the specified kind of event occurs in this data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/Resource.html#addListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">addListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in interface <a href="org/apache/sis/storage/Resource.html" title="interface in org.apache.sis.storage">Resource</a></dt>
<dd>
<div class="block">Registers a listener to notify when the specified kind of event occurs in this resource or in children.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStore.html#addListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">addListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql">SQLStore</a></dt>
<dd>
<div class="block">Registers a listener to notify when the specified kind of event occurs in this data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#addName(java.lang.CharSequence)">addName(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Adds an <code>IdentifiedObject</code> name given by a <code>String</code> or <code>InternationalString</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#addName(org.opengis.metadata.citation.Citation,java.lang.CharSequence)">addName(Citation, CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Adds an <code>IdentifiedObject</code> name in an alternative namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#addName(org.opengis.referencing.ReferenceIdentifier)">addName(ReferenceIdentifier)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Adds an <code>IdentifiedObject</code> name fully specified by the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#addName(org.opengis.util.GenericName)">addName(GenericName)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Adds an <code>IdentifiedObject</code> name fully specified by the given generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#addNamesAndIdentifiers(org.opengis.referencing.IdentifiedObject)">addNamesAndIdentifiers(IdentifiedObject)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Adds all non-deprecated names and identifiers from the given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#addParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">addParent(ModifiableLocationType)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Adds the given element to the list of parents.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#addProperty(org.apache.sis.feature.AbstractIdentifiedType)">addProperty(AbstractIdentifiedType)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Adds the given property in the feature type properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQualitative(java.lang.CharSequence,boolean)">addQualitative(CharSequence, boolean)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category for samples of the given boolean value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQualitative(java.lang.CharSequence,byte)">addQualitative(CharSequence, byte)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category for samples of the given tiny (8 bits) integer value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQualitative(java.lang.CharSequence,double)">addQualitative(CharSequence, double)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category for samples of the given double precision floating-point value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQualitative(java.lang.CharSequence,float)">addQualitative(CharSequence, float)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category for samples of the given floating-point value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQualitative(java.lang.CharSequence,int)">addQualitative(CharSequence, int)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category for samples of the given integer value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQualitative(java.lang.CharSequence,short)">addQualitative(CharSequence, short)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category for samples of the given short (16 bits) integer value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQualitative(java.lang.CharSequence,java.lang.Number,java.lang.Number)">addQualitative(CharSequence, Number, Number)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category for samples in the given range of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQualitative(java.lang.CharSequence,org.apache.sis.measure.NumberRange)">addQualitative(CharSequence, NumberRange&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category for all samples in the specified range of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQuantitative(java.lang.CharSequence,double,double,javax.measure.Unit)">addQuantitative(CharSequence, double, double, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a quantitative category for values ranging from <code>minimum</code> to <code>maximum</code> inclusive
 in the given units of measurement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQuantitative(java.lang.CharSequence,float,float,javax.measure.Unit)">addQuantitative(CharSequence, float, float, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a quantitative category for values ranging from <code>minimum</code> to <code>maximum</code> inclusive
 in the given units of measurement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQuantitative(java.lang.CharSequence,int,int,double,double,javax.measure.Unit)">addQuantitative(CharSequence, int, int, double, double, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a quantitative category for sample values ranging from <code>lower</code> inclusive to <code>upper</code> exclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQuantitative(java.lang.CharSequence,org.apache.sis.measure.NumberRange,org.apache.sis.measure.NumberRange)">addQuantitative(CharSequence, NumberRange&lt;?&gt;, NumberRange&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Constructs a quantitative category mapping samples to real values in the specified range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#addQuantitative(java.lang.CharSequence,org.apache.sis.measure.NumberRange,org.opengis.referencing.operation.MathTransform1D,javax.measure.Unit)">addQuantitative(CharSequence, NumberRange&lt;?&gt;, MathTransform1D, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Constructs a quantitative category for all samples in the specified range of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#addRole(org.apache.sis.feature.builder.AttributeRole)">addRole(AttributeRole)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Flags this attribute as an input of one of the pre-defined operations managed by <code>AttributeTypeBuilder</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#addSourceDimensionRange(int,int)">addSourceDimensionRange(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Adds a range of input dimensions to keep in the separated transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#addSourceDimensions(int...)">addSourceDimensions(int...)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Adds input dimensions to keep in the separated transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#addTargetDimensionRange(int,int)">addTargetDimensionRange(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Adds a range of output dimensions to keep in the separated transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#addTargetDimensions(int...)">addTargetDimensions(int...)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Adds output dimensions to keep in the separated transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#addWarningListener(org.apache.sis.util.logging.WarningListener)">addWarningListener(WarningListener)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>addListener(listener, WarningEvent.class)</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#addWarningListener(org.apache.sis.util.logging.WarningListener)">addWarningListener(WarningListener&lt;? super MetadataSource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment"><code>WarningListener</code> to be replaced by <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Filter.html?is-external=true" title="class or interface in java.util.logging" class="externalLink"><code>Filter</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#addWarningListener(org.apache.sis.util.logging.WarningListener)">addWarningListener(WarningListener&lt;? super DataStore&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>addListener(listener, WarningEvent.class)</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#addWarningListener(org.apache.sis.util.logging.WarningListener)">addWarningListener(WarningListener&lt;? super S&gt;)</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Adds a listener to be notified when a warning occurred.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">AffineTransforms2D</span></a> - Class in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block">Bridge between <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Matrix</code></a> and Java2D <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/geom/AffineTransform.html?is-external=true" title="class or interface in java.awt.geom" class="externalLink"><code>AffineTransform</code></a> instances.</div>
</dd>
<dt><a href="org/apache/sis/storage/Aggregate.html" title="interface in org.apache.sis.storage"><span class="typeNameLink">Aggregate</span></a> - Interface in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">A collection of resources.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">AlbersEqualArea</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Albers Equal Area</cite> projection (EPSG code 9822).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">AlbersEqualArea(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">AlbersEqualArea</a></dt>
<dd>
<div class="block">Creates an Albers Equal Area projection from the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#ALIGN_CENTER">ALIGN_CENTER</a></span> - Static variable in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">A possible value for cell alignment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#ALIGN_LEFT">ALIGN_LEFT</a></span> - Static variable in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">A possible value for cell alignment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#ALIGN_RIGHT">ALIGN_RIGHT</a></span> - Static variable in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">A possible value for cell alignment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ValueExistencePolicy.html#ALL">ALL</a></span> - <a href="org/apache/sis/metadata/ValueExistencePolicy.html" title="enum in org.apache.sis.metadata">ValueExistencePolicy</a></dt>
<dd>
<div class="block">Includes all entries in the map, including those having a null value or an empty collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Locales.html#ALL">ALL</a></span> - Static variable in class <a href="org/apache/sis/util/Locales.html" title="class in org.apache.sis.util">Locales</a></dt>
<dd>
<div class="block">All locales available on the JavaVM.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html#ALL_DATASET">ALL_DATASET</a></span> - <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html" title="enum in org.apache.sis.referencing.factory">IdentifiedObjectFinder.Domain</a></dt>
<dd>
<div class="block">Lookup based on all objects (both valid and deprecated) known to the factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#allEquals(double%5B%5D,double)">allEquals(double[], double)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all values in the specified array are equal to the specified value,
 which may be <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Double.NaN</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#allEquals(float%5B%5D,float)">allEquals(float[], float)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all values in the specified array are equal to the specified value,
 which may be <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Float.NaN</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#allEquals(java.lang.Object%5B%5D,java.lang.Object)">allEquals(Object[], Object)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all values in the specified array are equal to the specified value,
 which may be <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#ALLOW_VARIANT">ALLOW_VARIANT</a></span> - <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Most but not all attributes relevant to the object functionality are compared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#ALPHANUM">ALPHANUM</a></span> - Static variable in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Parses and creates matrix parameters with alphanumeric names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#AMPERE">AMPERE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI base unit for electric current (A).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#anchor(org.apache.sis.xml.MarshalContext,java.lang.Object,java.lang.CharSequence)">anchor(MarshalContext, Object, CharSequence)</a></span> - Method in class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">Returns the <code>&lt;gcx:Anchor&gt;</code> to use for the given text, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#angle(org.opengis.referencing.cs.AxisDirection,org.opengis.referencing.cs.AxisDirection)">angle(AxisDirection, AxisDirection)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns the arithmetic (counterclockwise) angle from the first axis direction to the second direction.</div>
</dd>
<dt><a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure"><span class="typeNameLink">Angle</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">An angle in decimal degrees.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#%3Cinit%3E(double)">Angle(double)</a></span> - Constructor for class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Constructs a new angle with the specified value in decimal degrees.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#%3Cinit%3E(java.lang.String)">Angle(String)</a></span> - Constructor for class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Constructs a newly allocated <code>Angle</code> object that contain the angular value
 represented by the string.</div>
</dd>
<dt><a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure"><span class="typeNameLink">AngleFormat</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">Parses and formats angles according a specified pattern.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#%3Cinit%3E()">AngleFormat()</a></span> - Constructor for class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Constructs a new <code>AngleFormat</code> for the default pattern and the current default locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#%3Cinit%3E(java.lang.String)">AngleFormat(String)</a></span> - Constructor for class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Constructs a new <code>AngleFormat</code> for the specified pattern and the current default locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#%3Cinit%3E(java.lang.String,java.util.Locale)">AngleFormat(String, Locale)</a></span> - Constructor for class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Constructs a new <code>AngleFormat</code> using the specified pattern and locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#%3Cinit%3E(java.util.Locale)">AngleFormat(Locale)</a></span> - Constructor for class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Constructs a new <code>AngleFormat</code> for the default pattern and the specified locale.</div>
</dd>
<dt><a href="org/apache/sis/measure/AngleFormat.Field.html" title="class in org.apache.sis.measure"><span class="typeNameLink">AngleFormat.Field</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">Constants that are used as attribute keys in the iterator returned from
 <a href="org/apache/sis/measure/AngleFormat.html#formatToCharacterIterator(java.lang.Object)"><code>AngleFormat.formatToCharacterIterator(Object)</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/measure/AngularVelocity.html" title="interface in org.apache.sis.measure"><span class="typeNameLink">AngularVelocity</span></a> - Interface in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">The rate of change of an angular displacement with respect to time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(boolean)">append(boolean)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends a boolean value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#append(char)">append(char)</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Writes a single character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#append(char)">append(char)</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Writes a single character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(double)">append(double)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends an floating point value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(long)">append(long)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends an integer value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#append(java.lang.CharSequence)">append(CharSequence)</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Appends the specified character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#append(java.lang.CharSequence,int,int)">append(CharSequence, int, int)</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Writes a portion of a character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#append(java.lang.CharSequence,int,int)">append(CharSequence, int, int)</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Writes a portion of a character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(java.lang.String,org.apache.sis.io.wkt.ElementKind)">append(String, ElementKind)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends a character string between quotes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(java.util.Date)">append(Date)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends a date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(javax.measure.Unit)">append(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends a unit in a <code>Unit[…]</code> element or one of the specialized elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(org.apache.sis.io.wkt.FormattableObject)">append(FormattableObject)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends the given <code>FormattableObject</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(org.apache.sis.math.Vector%5B%5D,int...)">append(Vector[], int...)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends rows of numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(org.opengis.metadata.extent.GeographicBoundingBox,int)">append(GeographicBoundingBox, int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends the given geographic bounding box in a <code>BBOX[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(org.opengis.referencing.operation.MathTransform)">append(MathTransform)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends the given math transform, typically (but not necessarily) in a <code>PARAM_MT[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#append(org.opengis.util.CodeList)">append(CodeList&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends an enumeration or code list value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#append(T%5B%5D,T)">append(T[], T)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns a copy of the given array with a single element appended at the end.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#appendAny(java.lang.Object)">appendAny(Object)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Appends an object or an array of objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#appendHorizontalSeparator()">appendHorizontalSeparator()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Writes an horizontal separator using the <code>'─'</code> character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html#apply(java.lang.String)">apply(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html" title="class in org.apache.sis.referencing.factory.sql">SQLTranslator</a></dt>
<dd>
<div class="block">Adapts the given SQL statement from the original MS-Access dialect to the dialect of the target database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractOperation.html#apply(org.apache.sis.feature.AbstractFeature,org.opengis.parameter.ParameterValueGroup)">apply(AbstractFeature, ParameterValueGroup)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></dt>
<dd>
<div class="block">Executes the operation on the specified feature with the specified parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverter.html#apply(S)">apply(S)</a></span> - Method in interface <a href="org/apache/sis/util/ObjectConverter.html" title="interface in org.apache.sis.util">ObjectConverter</a></dt>
<dd>
<div class="block">Converts the given object from the source type <var>S</var> to the target type <var>T</var>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#applyAsDouble(double)">applyAsDouble(double)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Evaluates this equation for the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#applyAsDouble(double,double)">applyAsDouble(double, double)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Evaluates this equation for the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#applyPattern(java.lang.Class,java.lang.String)">applyPattern(Class&lt;?&gt;, String)</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Sets the pattern for number, angle or date fields.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#applyPattern(java.lang.String)">applyPattern(String)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Sets the pattern to use for parsing and formatting angles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#APPROXIMATE">APPROXIMATE</a></span> - <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Only the attributes relevant to the object functionality are compared, with some tolerance
 threshold on numerical values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#APPROXIMATIVE">APPROXIMATIVE</a></span> - Static variable in enum <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/util/ComparisonMode.html#APPROXIMATE"><code>ComparisonMode.APPROXIMATE</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#ARC">ARC</a></span> - <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">A traversal rule between resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#ARC_MINUTE">ARC_MINUTE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 1/60 degree (1′).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#ARC_SECOND">ARC_SECOND</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 1/(60×60) degree (1″).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#area(org.opengis.metadata.extent.GeographicBoundingBox)">area(GeographicBoundingBox)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns an <em>estimation</em> of the area (in square metres) of the given bounding box.</div>
</dd>
<dt><a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util"><span class="typeNameLink">ArgumentChecks</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods for performing argument checks.</div>
</dd>
<dt><a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util"><span class="typeNameLink">ArraysExt</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods for simple operations on arrays and array elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html#ASCENDING">ASCENDING</a></span> - <a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">IterationStrategy</a></dt>
<dd>
<div class="block">Iterate over the points in ascending index order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListener.html#asFilter()">asFilter()</a></span> - Method in interface <a href="org/apache/sis/util/logging/WarningListener.html" title="interface in org.apache.sis.util.logging">WarningListener</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Wraps this listener in a <code>java.util.logging.Filter</code> for transitioning
 to the replacement of this interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#asIndexMap(java.lang.Class,org.apache.sis.metadata.KeyNamePolicy)">asIndexMap(Class&lt;?&gt;, KeyNamePolicy)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns indices for all properties defined in the given metadata type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#asInformationMap(java.lang.Class,org.apache.sis.metadata.KeyNamePolicy)">asInformationMap(Class&lt;?&gt;, KeyNamePolicy)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns information about all properties defined in the given metadata type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#asinh(double)">asinh(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the inverse hyperbolic sine of the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#asMap()">asMap()</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Returns a view of the property values in a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#asNameMap(java.lang.Class,org.apache.sis.metadata.KeyNamePolicy,org.apache.sis.metadata.KeyNamePolicy)">asNameMap(Class&lt;?&gt;, KeyNamePolicy, KeyNamePolicy)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns the names of all properties defined in the given metadata type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FoliationRepresentation.html#ASSEMBLED">ASSEMBLED</a></span> - <a href="org/apache/sis/feature/FoliationRepresentation.html" title="enum in org.apache.sis.feature">FoliationRepresentation</a></dt>
<dd>
<div class="block">Trajectories stored in a single <code>Feature</code> instance.</div>
</dd>
<dt><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder"><span class="typeNameLink">AssociationRoleBuilder</span></a> - Class in <a href="org/apache/sis/feature/builder/package-summary.html">org.apache.sis.feature.builder</a></dt>
<dd>
<div class="block">Describes one association from the <code>FeatureType</code> to be built by an <code>FeatureTypeBuilder</code> to another
 <code>FeatureType</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#asTreeTable()">asTreeTable()</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Returns the property types and values as a tree table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#asTreeTable(java.lang.Object,java.lang.Class,org.apache.sis.metadata.ValueExistencePolicy)">asTreeTable(Object, Class&lt;?&gt;, ValueExistencePolicy)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns the specified metadata object as a tree table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#asTypeMap(java.lang.Class,org.apache.sis.metadata.KeyNamePolicy,org.apache.sis.metadata.TypeValuePolicy)">asTypeMap(Class&lt;?&gt;, KeyNamePolicy, TypeValuePolicy)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns the type of all properties, or their declaring type, defined in the given metadata type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#asValueMap(java.lang.Object,java.lang.Class,org.apache.sis.metadata.KeyNamePolicy,org.apache.sis.metadata.ValueExistencePolicy)">asValueMap(Object, Class&lt;?&gt;, KeyNamePolicy, ValueExistencePolicy)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns a view of the specified metadata object as a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/IO.html#asWriter(java.lang.Appendable)">asWriter(Appendable)</a></span> - Static method in class <a href="org/apache/sis/io/IO.html" title="class in org.apache.sis.io">IO</a></dt>
<dd>
<div class="block">Returns a view of the given <code>Appendable</code> as a <code>Writer</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#atanh(double)">atanh(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the inverse hyperbolic tangent of the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#ATMOSPHERE">ATMOSPHERE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 101325 pascals (1 atm).</div>
</dd>
<dt><a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf"><span class="typeNameLink">AttributeNames</span></a> - Class in <a href="org/apache/sis/storage/netcdf/package-summary.html">org.apache.sis.storage.netcdf</a></dt>
<dd>
<div class="block">Name of attributes used in the mapping from/to netCDF metadata to ISO 19115 metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#%3Cinit%3E()">AttributeNames()</a></span> - Constructor for class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">For subclass constructors only.</div>
</dd>
<dt><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf"><span class="typeNameLink">AttributeNames.Dimension</span></a> - Class in <a href="org/apache/sis/storage/netcdf/package-summary.html">org.apache.sis.storage.netcdf</a></dt>
<dd>
<div class="block">Holds the attribute names describing a simple latitude, longitude, and vertical bounding box.</div>
</dd>
<dt><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf"><span class="typeNameLink">AttributeNames.Responsible</span></a> - Class in <a href="org/apache/sis/storage/netcdf/package-summary.html">org.apache.sis.storage.netcdf</a></dt>
<dd>
<div class="block">Holds the attribute names describing a responsible party.</div>
</dd>
<dt><a href="org/apache/sis/storage/netcdf/AttributeNames.Term.html" title="class in org.apache.sis.storage.netcdf"><span class="typeNameLink">AttributeNames.Term</span></a> - Class in <a href="org/apache/sis/storage/netcdf/package-summary.html">org.apache.sis.storage.netcdf</a></dt>
<dd>
<div class="block">Holds the attribute names describing a term together with a vocabulary (or naming authority).</div>
</dd>
<dt><a href="org/apache/sis/feature/builder/AttributeRole.html" title="enum in org.apache.sis.feature.builder"><span class="typeNameLink">AttributeRole</span></a> - Enum in <a href="org/apache/sis/feature/builder/package-summary.html">org.apache.sis.feature.builder</a></dt>
<dd>
<div class="block">Roles that can be associated to some attributes for instructing <code>FeatureTypeBuilder</code>
 how to generate pre-defined operations.</div>
</dd>
<dt><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder"><span class="typeNameLink">AttributeTypeBuilder</span></a>&lt;<a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt; - Class in <a href="org/apache/sis/feature/builder/package-summary.html">org.apache.sis.feature.builder</a></dt>
<dd>
<div class="block">Describes one <code>AttributeType</code> which will be part of the feature type to be built by
 a <code>FeatureTypeBuilder</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#AUTO">AUTO</a></span> - <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">A special value for computing the type automatically from the <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml"><code>XLink</code></a> attributes.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/AxesConvention.html" title="enum in org.apache.sis.referencing.cs"><span class="typeNameLink">AxesConvention</span></a> - Enum in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">High-level characteristics about the axes of a coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#AXIS">AXIS</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">Coordinate system axes</a>,
 often represented by <code>AXIS[…]</code> elements.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/AxisFilter.html" title="interface in org.apache.sis.referencing.cs"><span class="typeNameLink">AxisFilter</span></a> - Interface in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">Modifications to apply on the axes of a coordinate system in order to produce a new coordinate system.</div>
</dd>
</dl>
<a id="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><a href="org/apache/sis/util/collection/BackingStoreException.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">BackingStoreException</span></a> - Exception in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">Thrown to indicate that an operation could not complete because of a failure in the backing store
 (a file or a database).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/BackingStoreException.html#%3Cinit%3E()">BackingStoreException()</a></span> - Constructor for exception <a href="org/apache/sis/util/collection/BackingStoreException.html" title="class in org.apache.sis.util.collection">BackingStoreException</a></dt>
<dd>
<div class="block">Constructs a new exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/BackingStoreException.html#%3Cinit%3E(java.lang.String)">BackingStoreException(String)</a></span> - Constructor for exception <a href="org/apache/sis/util/collection/BackingStoreException.html" title="class in org.apache.sis.util.collection">BackingStoreException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/BackingStoreException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">BackingStoreException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/util/collection/BackingStoreException.html" title="class in org.apache.sis.util.collection">BackingStoreException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/BackingStoreException.html#%3Cinit%3E(java.lang.Throwable)">BackingStoreException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/util/collection/BackingStoreException.html" title="class in org.apache.sis.util.collection">BackingStoreException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#BAR">BAR</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 100000 pascals (1 bar).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#BAROMETRIC">BAROMETRIC</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Height measured by atmospheric pressure in hectopascals (hPa).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#base">base</a></span> - Variable in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">The base grid geometry from which to derive a new grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Format.html#BASE32">BASE32</a></span> - <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Format.html" title="enum in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Format</a></dt>
<dd>
<div class="block">Format consisting of 32 symbols used at <code>http://geohash.org</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#beforeFill">beforeFill</a></span> - Variable in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">The string to write before the <a href="org/apache/sis/io/TabularFormat.html#fillCharacter"><code>TabularFormat.fillCharacter</code></a>, or an empty string if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#BIG_DECIMAL">BIG_DECIMAL</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 11 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#BIG_INTEGER">BIG_INTEGER</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 10 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/NodeType.html#BLACK">BLACK</a></span> - <a href="org/apache/sis/index/tree/NodeType.html" title="enum in org.apache.sis.index.tree">NodeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#BOOLEAN">BOOLEAN</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 1 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#booleanValue()">booleanValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns the boolean value of this parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#booleanValue(org.opengis.parameter.ParameterDescriptor)">booleanValue(ParameterDescriptor&lt;Boolean&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the boolean value of the parameter identified by the given descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#boundOfParameterizedProperty(java.lang.reflect.Field)">boundOfParameterizedProperty(Field)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the upper bounds of the parameterized type of the given property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#boundOfParameterizedProperty(java.lang.reflect.Method)">boundOfParameterizedProperty(Method)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">If the given method is a getter or a setter for a parameterized property, returns the
 upper bounds of the parameterized type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#boundsEquals(org.opengis.geometry.Envelope,int,int,double)">boundsEquals(Envelope, int, int, double)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns <code>true</code> if <code>this</code> envelope bounds is equal to <code>that</code> envelope
 bounds in two specified dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html#BRIEF">BRIEF</a></span> - <a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html" title="enum in org.apache.sis.parameter">ParameterFormat.ContentLevel</a></dt>
<dd>
<div class="block">A medium level of content which formats each parameter on a single line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#buffer()">buffer()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the vector data as a <code>java.nio</code> buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html#BUFFER_SOURCE">BUFFER_SOURCE</a></span> - <a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">IterationStrategy</a></dt>
<dd>
<div class="block">Copy the points to transform in a temporary array before to apply the transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html#BUFFER_TARGET">BUFFER_TARGET</a></span> - <a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">IterationStrategy</a></dt>
<dd>
<div class="block">Write the transformed points in a temporary array and copies them to the
 destination subarray when the transformation is finished.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#build()">build()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Builds a grid geometry with the configuration specified by the other methods in this <code>GridDerivation</code> class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#build()">build()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Creates a new sample with the properties defined to this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#build()">build()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Builds the association role from the information specified to this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#build()">build()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Builds the attribute type from the information specified to this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#build()">build()</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Builds the characteristic type from the information specified to this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#build()">build()</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Builds the feature type from the information and properties specified to this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#build()">build()</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Builds the property type from the information specified to this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#build()">build()</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Builds the feature or property type from the information specified to this builder.</div>
</dd>
<dt><a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">Builder</span></a>&lt;<a href="org/apache/sis/referencing/Builder.html" title="type parameter in Builder">B</a> extends <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a>&lt;<a href="org/apache/sis/referencing/Builder.html" title="type parameter in Builder">B</a>&gt;&gt; - Class in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Base class of builders for various kind of <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true" title="class or interface in org.opengis.referencing" class="externalLink"><code>IdentifiedObject</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#%3Cinit%3E()">Builder()</a></span> - Constructor for class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Creates an initially empty builder for a sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#%3Cinit%3E()">Builder()</a></span> - Constructor for class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Creates a new iterator builder with no region of interest, no window size and default iterator order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#%3Cinit%3E()">Builder()</a></span> - Constructor for class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Creates a new builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#%3Cinit%3E(org.opengis.referencing.IdentifiedObject)">Builder(IdentifiedObject)</a></span> - Constructor for class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Creates a new builder initialized to properties of the given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#BURSA_WOLF_KEY">BURSA_WOLF_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">The <code>"bursaWolf"</code> property for
 <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#getBursaWolfParameters()">Bursa-Wolf parameters</a>.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">BursaWolfParameters</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Parameters for a geographic transformation between two datum having the same prime meridian.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#%3Cinit%3E(org.opengis.referencing.datum.GeodeticDatum,org.opengis.metadata.extent.Extent)">BursaWolfParameters(GeodeticDatum, Extent)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Creates a new instance for the given target datum and domain of validity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#BY_CONTRACT">BY_CONTRACT</a></span> - <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Only the attributes published in some contract (typically a GeoAPI interface) need to be compared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#BYTE">BYTE</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 3 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#BYTE_BUFFER">BYTE_BUFFER</a></span> - Static variable in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">The byte buffer to use for input/output operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#byteValue()">byteValue()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns this fraction rounded toward zero, if the result can be represented as a signed byte.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#byteValue(int)">byteValue(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the value at the given index as a <code>byte</code>.</div>
</dd>
</dl>
<a id="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">Cache</span></a>&lt;<a href="org/apache/sis/util/collection/Cache.html" title="type parameter in Cache">K</a>,&#8203;<a href="org/apache/sis/util/collection/Cache.html" title="type parameter in Cache">V</a>&gt; - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A concurrent map capable to locks entries for which the value is in process of being computed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#%3Cinit%3E()">Cache()</a></span> - Constructor for class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Creates a new cache with a default initial capacity and cost limit of 100.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#%3Cinit%3E(int,long,boolean)">Cache(int, long, boolean)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Creates a new cache using the given initial capacity and cost limit.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/Cache.Handler.html" title="interface in org.apache.sis.util.collection"><span class="typeNameLink">Cache.Handler</span></a>&lt;<a href="org/apache/sis/util/collection/Cache.Handler.html" title="type parameter in Cache.Handler">V</a>&gt; - Interface in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">The handler returned by <a href="org/apache/sis/util/collection/Cache.html#lock(K)"><code>Cache.lock(K)</code></a>, to be used for unlocking and storing the result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordCase.html#CAMEL_CASE">CAMEL_CASE</a></span> - <a href="org/apache/sis/io/wkt/KeywordCase.html" title="enum in org.apache.sis.io.wkt">KeywordCase</a></dt>
<dd>
<div class="block">WKT formatting uses CamelCase keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#camelCaseToAcronym(java.lang.CharSequence)">camelCaseToAcronym(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Creates an acronym from the given text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#camelCaseToSentence(java.lang.CharSequence)">camelCaseToSentence(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Given a string in camel cases (typically an identifier), returns a string formatted
 like an English sentence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#camelCaseToWords(java.lang.CharSequence,boolean)">camelCaseToWords(CharSequence, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Given a string in camel cases, returns a string with the same words separated by spaces.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#canClose(DAO)">canClose(DAO)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given Data Access Object (DAO) can be closed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#canClose(org.apache.sis.referencing.factory.sql.EPSGDataAccess)">canClose(EPSGDataAccess)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given Data Access Object (DAO) can be closed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#CANDELA">CANDELA</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI base unit for luminous intensity (cd).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#canSubstituteByReference(org.apache.sis.xml.MarshalContext,java.lang.Class,T,java.lang.String)">canSubstituteByReference(MarshalContext, Class&lt;T&gt;, T, String)</a></span> - Method in class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the marshaller can use a <code>xlink:href="#id"</code> reference to the given object
 instead than writing the full XML element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#canSubstituteByReference(org.apache.sis.xml.MarshalContext,java.lang.Class,T,java.util.UUID)">canSubstituteByReference(MarshalContext, Class&lt;T&gt;, T, UUID)</a></span> - Method in class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the marshaller can use a reference to the given object
 instead than writing the full XML element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#canSubstituteByReference(org.apache.sis.xml.MarshalContext,java.lang.Class,T,org.apache.sis.xml.XLink)">canSubstituteByReference(MarshalContext, Class&lt;T&gt;, T, XLink)</a></span> - Method in class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the marshaller can use a <code>xlink:href</code> reference to the given
 object instead than writing the full XML element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#CARDINALITY">CARDINALITY</a></span> - <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Cardinality (for attributes) or multiplicity (for attribute types).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.TargetType.html#CARTESIAN">CARTESIAN</a></span> - <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.TargetType.html" title="enum in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform.TargetType</a></dt>
<dd>
<div class="block">Indicates conversions from
 <a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">ellipsoidal</a> to
 <a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html" title="class in org.apache.sis.referencing.cs">Cartesian</a> coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#cast(java.lang.Number,java.lang.Class)">cast(Number, Class&lt;N&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Casts a number to the specified type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/Features.html#cast(org.apache.sis.feature.AbstractAttribute,java.lang.Class)">cast(AbstractAttribute&lt;?&gt;, Class&lt;V&gt;)</a></span> - Static method in class <a href="org/apache/sis/feature/Features.html" title="class in org.apache.sis.feature">Features</a></dt>
<dd>
<div class="block">Casts the given attribute instance to the given parameterized type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/Features.html#cast(org.apache.sis.feature.DefaultAttributeType,java.lang.Class)">cast(DefaultAttributeType&lt;?&gt;, Class&lt;V&gt;)</a></span> - Static method in class <a href="org/apache/sis/feature/Features.html" title="class in org.apache.sis.feature">Features</a></dt>
<dd>
<div class="block">Casts the given attribute type to the given parameterized type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#cast(org.opengis.parameter.ParameterDescriptor,java.lang.Class)">cast(ParameterDescriptor&lt;?&gt;, Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Casts the given parameter descriptor to the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#cast(org.opengis.parameter.ParameterValue,java.lang.Class)">cast(ParameterValue&lt;?&gt;, Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Casts the given parameter value to the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Quantities.html#castOrCopy(javax.measure.Quantity)">castOrCopy(Quantity&lt;Q&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Quantities.html" title="class in org.apache.sis.measure">Quantities</a></dt>
<dd>
<div class="block">Returns the given quantity as an instance of the specific <code>Quantity</code> subtype.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#castOrCopy(org.apache.sis.measure.Range)">castOrCopy(Range&lt;N&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns the specified <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure"><code>Range</code></a> as a <code>NumberRange</code> object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#castOrCopy(org.opengis.geometry.DirectPosition)">castOrCopy(DirectPosition)</a></span> - Static method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Returns the given position as an <code>AbstractDirectPosition</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#castOrCopy(org.opengis.geometry.Envelope)">castOrCopy(Envelope)</a></span> - Static method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns the given envelope as an <code>AbstractEnvelope</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#castOrCopy(org.opengis.geometry.Envelope)">castOrCopy(Envelope)</a></span> - Static method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Returns the given envelope as a <code>GeneralEnvelope</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/ImmutableEnvelope.html#castOrCopy(org.opengis.geometry.Envelope)">castOrCopy(Envelope)</a></span> - Static method in class <a href="org/apache/sis/geometry/ImmutableEnvelope.html" title="class in org.apache.sis.geometry">ImmutableEnvelope</a></dt>
<dd>
<div class="block">Returns the given envelope as an <code>ImmutableEnvelope</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#castOrCopy(org.opengis.metadata.acquisition.AcquisitionInformation)">castOrCopy(AcquisitionInformation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#castOrCopy(org.opengis.metadata.acquisition.EnvironmentalRecord)">castOrCopy(EnvironmentalRecord)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#castOrCopy(org.opengis.metadata.acquisition.Event)">castOrCopy(Event)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#castOrCopy(org.opengis.metadata.acquisition.Instrument)">castOrCopy(Instrument)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#castOrCopy(org.opengis.metadata.acquisition.Objective)">castOrCopy(Objective)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#castOrCopy(org.opengis.metadata.acquisition.Operation)">castOrCopy(Operation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#castOrCopy(org.opengis.metadata.acquisition.Plan)">castOrCopy(Plan)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#castOrCopy(org.opengis.metadata.acquisition.Platform)">castOrCopy(Platform)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#castOrCopy(org.opengis.metadata.acquisition.PlatformPass)">castOrCopy(PlatformPass)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html#castOrCopy(org.opengis.metadata.acquisition.RequestedDate)">castOrCopy(RequestedDate)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequestedDate</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#castOrCopy(org.opengis.metadata.acquisition.Requirement)">castOrCopy(Requirement)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#castOrCopy(org.opengis.metadata.ApplicationSchemaInformation)">castOrCopy(ApplicationSchemaInformation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#castOrCopy(org.opengis.metadata.citation.Address)">castOrCopy(Address)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#castOrCopy(org.opengis.metadata.citation.Citation)">castOrCopy(Citation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html#castOrCopy(org.opengis.metadata.citation.CitationDate)">castOrCopy(CitationDate)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitationDate</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#castOrCopy(org.opengis.metadata.citation.Contact)">castOrCopy(Contact)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#castOrCopy(org.opengis.metadata.citation.OnlineResource)">castOrCopy(OnlineResource)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#castOrCopy(org.opengis.metadata.citation.ResponsibleParty)">castOrCopy(ResponsibleParty)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#castOrCopy(org.opengis.metadata.citation.Series)">castOrCopy(Series)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#castOrCopy(org.opengis.metadata.citation.Telephone)">castOrCopy(Telephone)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#castOrCopy(org.opengis.metadata.constraint.Constraints)">castOrCopy(Constraints)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#castOrCopy(org.opengis.metadata.constraint.LegalConstraints)">castOrCopy(LegalConstraints)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#castOrCopy(org.opengis.metadata.constraint.SecurityConstraints)">castOrCopy(SecurityConstraints)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#castOrCopy(org.opengis.metadata.content.Band)">castOrCopy(Band)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/AbstractContentInformation.html#castOrCopy(org.opengis.metadata.content.ContentInformation)">castOrCopy(ContentInformation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/content/AbstractContentInformation.html" title="class in org.apache.sis.metadata.iso.content">AbstractContentInformation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#castOrCopy(org.opengis.metadata.content.CoverageDescription)">castOrCopy(CoverageDescription)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#castOrCopy(org.opengis.metadata.content.FeatureCatalogueDescription)">castOrCopy(FeatureCatalogueDescription)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#castOrCopy(org.opengis.metadata.content.ImageDescription)">castOrCopy(ImageDescription)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#castOrCopy(org.opengis.metadata.content.RangeDimension)">castOrCopy(RangeDimension)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#castOrCopy(org.opengis.metadata.content.RangeElementDescription)">castOrCopy(RangeElementDescription)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#castOrCopy(org.opengis.metadata.distribution.DataFile)">castOrCopy(DataFile)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#castOrCopy(org.opengis.metadata.distribution.DigitalTransferOptions)">castOrCopy(DigitalTransferOptions)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#castOrCopy(org.opengis.metadata.distribution.Distribution)">castOrCopy(Distribution)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#castOrCopy(org.opengis.metadata.distribution.Distributor)">castOrCopy(Distributor)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#castOrCopy(org.opengis.metadata.distribution.Format)">castOrCopy(Format)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#castOrCopy(org.opengis.metadata.distribution.Medium)">castOrCopy(Medium)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#castOrCopy(org.opengis.metadata.distribution.StandardOrderProcess)">castOrCopy(StandardOrderProcess)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#castOrCopy(org.opengis.metadata.ExtendedElementInformation)">castOrCopy(ExtendedElementInformation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html#castOrCopy(org.opengis.metadata.extent.BoundingPolygon)">castOrCopy(BoundingPolygon)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html" title="class in org.apache.sis.metadata.iso.extent">DefaultBoundingPolygon</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#castOrCopy(org.opengis.metadata.extent.Extent)">castOrCopy(Extent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#castOrCopy(org.opengis.metadata.extent.GeographicBoundingBox)">castOrCopy(GeographicBoundingBox)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html#castOrCopy(org.opengis.metadata.extent.GeographicDescription)">castOrCopy(GeographicDescription)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicDescription</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html#castOrCopy(org.opengis.metadata.extent.GeographicExtent)">castOrCopy(GeographicExtent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#castOrCopy(org.opengis.metadata.extent.SpatialTemporalExtent)">castOrCopy(SpatialTemporalExtent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#castOrCopy(org.opengis.metadata.extent.TemporalExtent)">castOrCopy(TemporalExtent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#castOrCopy(org.opengis.metadata.extent.VerticalExtent)">castOrCopy(VerticalExtent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#castOrCopy(org.opengis.metadata.identification.AggregateInformation)">castOrCopy(AggregateInformation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAggregateInformation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#castOrCopy(org.opengis.metadata.identification.BrowseGraphic)">castOrCopy(BrowseGraphic)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#castOrCopy(org.opengis.metadata.identification.DataIdentification)">castOrCopy(DataIdentification)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#castOrCopy(org.opengis.metadata.identification.Identification)">castOrCopy(Identification)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#castOrCopy(org.opengis.metadata.identification.Keywords)">castOrCopy(Keywords)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#castOrCopy(org.opengis.metadata.identification.RepresentativeFraction)">castOrCopy(RepresentativeFraction)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the same values than the given arbitrary
 implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#castOrCopy(org.opengis.metadata.identification.Resolution)">castOrCopy(Resolution)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#castOrCopy(org.opengis.metadata.identification.ServiceIdentification)">castOrCopy(ServiceIdentification)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#castOrCopy(org.opengis.metadata.identification.Usage)">castOrCopy(Usage)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#castOrCopy(org.opengis.metadata.Identifier)">castOrCopy(Identifier)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html#castOrCopy(org.opengis.metadata.lineage.Algorithm)">castOrCopy(Algorithm)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultAlgorithm</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#castOrCopy(org.opengis.metadata.lineage.Lineage)">castOrCopy(Lineage)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html#castOrCopy(org.opengis.metadata.lineage.NominalResolution)">castOrCopy(NominalResolution)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultNominalResolution</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#castOrCopy(org.opengis.metadata.lineage.Processing)">castOrCopy(Processing)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#castOrCopy(org.opengis.metadata.lineage.ProcessStep)">castOrCopy(ProcessStep)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#castOrCopy(org.opengis.metadata.lineage.ProcessStepReport)">castOrCopy(ProcessStepReport)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#castOrCopy(org.opengis.metadata.lineage.Source)">castOrCopy(Source)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#castOrCopy(org.opengis.metadata.maintenance.MaintenanceInformation)">castOrCopy(MaintenanceInformation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#castOrCopy(org.opengis.metadata.maintenance.ScopeDescription)">castOrCopy(ScopeDescription)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#castOrCopy(org.opengis.metadata.Metadata)">castOrCopy(Metadata)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html#castOrCopy(org.opengis.metadata.MetadataExtensionInformation)">castOrCopy(MetadataExtensionInformation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataExtensionInformation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html#castOrCopy(org.opengis.metadata.PortrayalCatalogueReference)">castOrCopy(PortrayalCatalogueReference)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html" title="class in org.apache.sis.metadata.iso">DefaultPortrayalCatalogueReference</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html#castOrCopy(org.opengis.metadata.quality.AbsoluteExternalPositionalAccuracy)">castOrCopy(AbsoluteExternalPositionalAccuracy)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultAbsoluteExternalPositionalAccuracy</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.html#castOrCopy(org.opengis.metadata.quality.AccuracyOfATimeMeasurement)">castOrCopy(AccuracyOfATimeMeasurement)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.html" title="class in org.apache.sis.metadata.iso.quality">DefaultAccuracyOfATimeMeasurement</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractCompleteness.html#castOrCopy(org.opengis.metadata.quality.Completeness)">castOrCopy(Completeness)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/AbstractCompleteness.html" title="class in org.apache.sis.metadata.iso.quality">AbstractCompleteness</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.html#castOrCopy(org.opengis.metadata.quality.CompletenessCommission)">castOrCopy(CompletenessCommission)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCompletenessCommission</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.html#castOrCopy(org.opengis.metadata.quality.CompletenessOmission)">castOrCopy(CompletenessOmission)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCompletenessOmission</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.html#castOrCopy(org.opengis.metadata.quality.ConceptualConsistency)">castOrCopy(ConceptualConsistency)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConceptualConsistency</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#castOrCopy(org.opengis.metadata.quality.ConformanceResult)">castOrCopy(ConformanceResult)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#castOrCopy(org.opengis.metadata.quality.CoverageResult)">castOrCopy(CoverageResult)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#castOrCopy(org.opengis.metadata.quality.DataQuality)">castOrCopy(DataQuality)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.html#castOrCopy(org.opengis.metadata.quality.DomainConsistency)">castOrCopy(DomainConsistency)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDomainConsistency</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#castOrCopy(org.opengis.metadata.quality.Element)">castOrCopy(Element)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.html#castOrCopy(org.opengis.metadata.quality.FormatConsistency)">castOrCopy(FormatConsistency)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultFormatConsistency</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.html#castOrCopy(org.opengis.metadata.quality.GriddedDataPositionalAccuracy)">castOrCopy(GriddedDataPositionalAccuracy)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultGriddedDataPositionalAccuracy</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.html#castOrCopy(org.opengis.metadata.quality.LogicalConsistency)">castOrCopy(LogicalConsistency)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">AbstractLogicalConsistency</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.html#castOrCopy(org.opengis.metadata.quality.NonQuantitativeAttributeAccuracy)">castOrCopy(NonQuantitativeAttributeAccuracy)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultNonQuantitativeAttributeAccuracy</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html#castOrCopy(org.opengis.metadata.quality.PositionalAccuracy)">castOrCopy(PositionalAccuracy)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractPositionalAccuracy</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.html#castOrCopy(org.opengis.metadata.quality.QuantitativeAttributeAccuracy)">castOrCopy(QuantitativeAttributeAccuracy)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeAttributeAccuracy</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#castOrCopy(org.opengis.metadata.quality.QuantitativeResult)">castOrCopy(QuantitativeResult)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.html#castOrCopy(org.opengis.metadata.quality.RelativeInternalPositionalAccuracy)">castOrCopy(RelativeInternalPositionalAccuracy)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultRelativeInternalPositionalAccuracy</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractResult.html#castOrCopy(org.opengis.metadata.quality.Result)">castOrCopy(Result)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/AbstractResult.html" title="class in org.apache.sis.metadata.iso.quality">AbstractResult</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#castOrCopy(org.opengis.metadata.quality.Scope)">castOrCopy(Scope)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultScope.html#castOrCopy(org.opengis.metadata.quality.Scope)">castOrCopy(Scope)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultScope.html" title="class in org.apache.sis.metadata.iso.quality">DefaultScope</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.html#castOrCopy(org.opengis.metadata.quality.TemporalAccuracy)">castOrCopy(TemporalAccuracy)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractTemporalAccuracy</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.html#castOrCopy(org.opengis.metadata.quality.TemporalConsistency)">castOrCopy(TemporalConsistency)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTemporalConsistency</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.html#castOrCopy(org.opengis.metadata.quality.TemporalValidity)">castOrCopy(TemporalValidity)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTemporalValidity</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.html#castOrCopy(org.opengis.metadata.quality.ThematicAccuracy)">castOrCopy(ThematicAccuracy)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">AbstractThematicAccuracy</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.html#castOrCopy(org.opengis.metadata.quality.ThematicClassificationCorrectness)">castOrCopy(ThematicClassificationCorrectness)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.html" title="class in org.apache.sis.metadata.iso.quality">DefaultThematicClassificationCorrectness</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.html#castOrCopy(org.opengis.metadata.quality.TopologicalConsistency)">castOrCopy(TopologicalConsistency)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTopologicalConsistency</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultUsability.html#castOrCopy(org.opengis.metadata.quality.Usability)">castOrCopy(Usability)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/quality/DefaultUsability.html" title="class in org.apache.sis.metadata.iso.quality">DefaultUsability</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#castOrCopy(org.opengis.metadata.spatial.Dimension)">castOrCopy(Dimension)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html#castOrCopy(org.opengis.metadata.spatial.GCP)">castOrCopy(GCP)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCP</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#castOrCopy(org.opengis.metadata.spatial.GCPCollection)">castOrCopy(GCPCollection)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html#castOrCopy(org.opengis.metadata.spatial.GeolocationInformation)">castOrCopy(GeolocationInformation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html" title="class in org.apache.sis.metadata.iso.spatial">AbstractGeolocationInformation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html#castOrCopy(org.opengis.metadata.spatial.GeometricObjects)">castOrCopy(GeometricObjects)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeometricObjects</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#castOrCopy(org.opengis.metadata.spatial.Georectified)">castOrCopy(Georectified)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#castOrCopy(org.opengis.metadata.spatial.Georeferenceable)">castOrCopy(Georeferenceable)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#castOrCopy(org.opengis.metadata.spatial.GridSpatialRepresentation)">castOrCopy(GridSpatialRepresentation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.html#castOrCopy(org.opengis.metadata.spatial.SpatialRepresentation)">castOrCopy(SpatialRepresentation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">AbstractSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html#castOrCopy(org.opengis.metadata.spatial.VectorSpatialRepresentation)">castOrCopy(VectorSpatialRepresentation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultVectorSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#castOrCopy(org.opengis.parameter.ParameterDescriptor)">castOrCopy(ParameterDescriptor&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Returns a SIS parameter implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#castOrCopy(org.opengis.parameter.ParameterDescriptorGroup)">castOrCopy(ParameterDescriptorGroup)</a></span> - Static method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Returns a SIS group implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#castOrCopy(org.opengis.referencing.crs.CompoundCRS)">castOrCopy(CompoundCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Returns a SIS CRS implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#castOrCopy(org.opengis.referencing.crs.CoordinateReferenceSystem)">castOrCopy(CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#castOrCopy(org.opengis.referencing.crs.DerivedCRS)">castOrCopy(DerivedCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the same values than the given
 arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html#castOrCopy(org.opengis.referencing.crs.EngineeringCRS)">castOrCopy(EngineeringCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs">DefaultEngineeringCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the same values than the given
 arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html#castOrCopy(org.opengis.referencing.crs.GeocentricCRS)">castOrCopy(GeocentricCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeocentricCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the same values than the given
 arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html#castOrCopy(org.opengis.referencing.crs.GeographicCRS)">castOrCopy(GeographicCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeographicCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the same values than the given
 arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html#castOrCopy(org.opengis.referencing.crs.ImageCRS)">castOrCopy(ImageCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs">DefaultImageCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the same values than the given
 arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#castOrCopy(org.opengis.referencing.crs.ProjectedCRS)">castOrCopy(ProjectedCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the same values than the given
 arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#castOrCopy(org.opengis.referencing.crs.TemporalCRS)">castOrCopy(TemporalCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the same values than the given
 arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html#castOrCopy(org.opengis.referencing.crs.VerticalCRS)">castOrCopy(VerticalCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultVerticalCRS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate reference system implementation with the same values than the given
 arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultAffineCS.html#castOrCopy(org.opengis.referencing.cs.AffineCS)">castOrCopy(AffineCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultAffineCS.html" title="class in org.apache.sis.referencing.cs">DefaultAffineCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html#castOrCopy(org.opengis.referencing.cs.CartesianCS)">castOrCopy(CartesianCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html" title="class in org.apache.sis.referencing.cs">DefaultCartesianCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#castOrCopy(org.opengis.referencing.cs.CoordinateSystem)">castOrCopy(CoordinateSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#castOrCopy(org.opengis.referencing.cs.CoordinateSystemAxis)">castOrCopy(CoordinateSystemAxis)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns a SIS axis implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html#castOrCopy(org.opengis.referencing.cs.CylindricalCS)">castOrCopy(CylindricalCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html" title="class in org.apache.sis.referencing.cs">DefaultCylindricalCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html#castOrCopy(org.opengis.referencing.cs.EllipsoidalCS)">castOrCopy(EllipsoidalCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">DefaultEllipsoidalCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultLinearCS.html#castOrCopy(org.opengis.referencing.cs.LinearCS)">castOrCopy(LinearCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultLinearCS.html" title="class in org.apache.sis.referencing.cs">DefaultLinearCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultPolarCS.html#castOrCopy(org.opengis.referencing.cs.PolarCS)">castOrCopy(PolarCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultPolarCS.html" title="class in org.apache.sis.referencing.cs">DefaultPolarCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html#castOrCopy(org.opengis.referencing.cs.SphericalCS)">castOrCopy(SphericalCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs">DefaultSphericalCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultTimeCS.html#castOrCopy(org.opengis.referencing.cs.TimeCS)">castOrCopy(TimeCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultTimeCS.html" title="class in org.apache.sis.referencing.cs">DefaultTimeCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html#castOrCopy(org.opengis.referencing.cs.UserDefinedCS)">castOrCopy(UserDefinedCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html" title="class in org.apache.sis.referencing.cs">DefaultUserDefinedCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html#castOrCopy(org.opengis.referencing.cs.VerticalCS)">castOrCopy(VerticalCS)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html" title="class in org.apache.sis.referencing.cs">DefaultVerticalCS</a></dt>
<dd>
<div class="block">Returns a SIS coordinate system implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#castOrCopy(org.opengis.referencing.datum.Datum)">castOrCopy(Datum)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Returns a SIS datum implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#castOrCopy(org.opengis.referencing.datum.Ellipsoid)">castOrCopy(Ellipsoid)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Returns a SIS ellipsoid implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html#castOrCopy(org.opengis.referencing.datum.EngineeringDatum)">castOrCopy(EngineeringDatum)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html" title="class in org.apache.sis.referencing.datum">DefaultEngineeringDatum</a></dt>
<dd>
<div class="block">Returns a SIS datum implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#castOrCopy(org.opengis.referencing.datum.GeodeticDatum)">castOrCopy(GeodeticDatum)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Returns a SIS datum implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html#castOrCopy(org.opengis.referencing.datum.ImageDatum)">castOrCopy(ImageDatum)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum">DefaultImageDatum</a></dt>
<dd>
<div class="block">Returns a SIS datum implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#castOrCopy(org.opengis.referencing.datum.PrimeMeridian)">castOrCopy(PrimeMeridian)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Returns a SIS prime meridian implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html#castOrCopy(org.opengis.referencing.datum.TemporalDatum)">castOrCopy(TemporalDatum)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultTemporalDatum</a></dt>
<dd>
<div class="block">Returns a SIS datum implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html#castOrCopy(org.opengis.referencing.datum.VerticalDatum)">castOrCopy(VerticalDatum)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultVerticalDatum</a></dt>
<dd>
<div class="block">Returns a SIS datum implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#castOrCopy(org.opengis.referencing.IdentifiedObject)">castOrCopy(IdentifiedObject)</a></span> - Static method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns a SIS identified object implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultConversion.html#castOrCopy(org.opengis.referencing.operation.Conversion)">castOrCopy(Conversion)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation">DefaultConversion</a></dt>
<dd>
<div class="block">Returns a SIS coordinate operation implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#castOrCopy(org.opengis.referencing.operation.CoordinateOperation)">castOrCopy(CoordinateOperation)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns a SIS coordinate operation implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#castOrCopy(org.opengis.referencing.operation.Formula)">castOrCopy(Formula)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Returns a SIS formula implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#castOrCopy(org.opengis.referencing.operation.Matrix)">castOrCopy(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Returns the given matrix as a Java2D affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#castOrCopy(org.opengis.referencing.operation.Matrix)">castOrCopy(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Casts or copies the given matrix to a <code>Matrix1</code> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#castOrCopy(org.opengis.referencing.operation.Matrix)">castOrCopy(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Casts or copies the given matrix to a <code>Matrix2</code> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#castOrCopy(org.opengis.referencing.operation.Matrix)">castOrCopy(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Casts or copies the given matrix to a <code>Matrix3</code> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#castOrCopy(org.opengis.referencing.operation.Matrix)">castOrCopy(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Casts or copies the given matrix to a <code>Matrix4</code> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#castOrCopy(org.opengis.referencing.operation.Matrix)">castOrCopy(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Casts or copies the given matrix to a SIS implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#castOrCopy(org.opengis.referencing.operation.OperationMethod)">castOrCopy(OperationMethod)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Returns a SIS operation method implementation with the same values than the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#castOrCopy(org.opengis.referencing.operation.PassThroughOperation)">castOrCopy(PassThroughOperation)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Returns a SIS coordinate operation implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultTransformation.html#castOrCopy(org.opengis.referencing.operation.Transformation)">castOrCopy(Transformation)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/DefaultTransformation.html" title="class in org.apache.sis.referencing.operation">DefaultTransformation</a></dt>
<dd>
<div class="block">Returns a SIS coordinate operation implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html#castOrCopy(org.opengis.referencing.ReferenceIdentifier)">castOrCopy(ReferenceIdentifier)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html" title="class in org.apache.sis.metadata.iso">ImmutableIdentifier</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns a SIS identifier implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#castOrCopy(org.opengis.referencing.ReferenceIdentifier)">castOrCopy(ReferenceIdentifier)</a></span> - Static method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Returns a SIS identifier implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#castOrCopy(org.opengis.referencing.ReferenceIdentifier)">castOrCopy(ReferenceIdentifier)</a></span> - Static method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns a SIS identifier implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#castOrCopy(org.opengis.util.GenericName)">castOrCopy(GenericName)</a></span> - Static method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns a SIS name implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#castOrCopy(org.opengis.util.GenericName)">castOrCopy(GenericName)</a></span> - Static method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns a SIS name implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#castOrCopy(org.opengis.util.LocalName)">castOrCopy(LocalName)</a></span> - Static method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Returns a SIS local name implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultMemberName.html#castOrCopy(org.opengis.util.MemberName)">castOrCopy(MemberName)</a></span> - Static method in class <a href="org/apache/sis/util/iso/DefaultMemberName.html" title="class in org.apache.sis.util.iso">DefaultMemberName</a></dt>
<dd>
<div class="block">Returns a SIS member name implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#castOrCopy(org.opengis.util.Record)">castOrCopy(Record)</a></span> - Static method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Returns a SIS implementation with the name and members of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#castOrCopy(org.opengis.util.RecordType)">castOrCopy(RecordType)</a></span> - Static method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Returns a SIS implementation with the name and members of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultTypeName.html#castOrCopy(org.opengis.util.TypeName)">castOrCopy(TypeName)</a></span> - Static method in class <a href="org/apache/sis/util/iso/DefaultTypeName.html" title="class in org.apache.sis.util.iso">DefaultTypeName</a></dt>
<dd>
<div class="block">Returns a SIS type name implementation with the values of the given arbitrary implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#castOrWrap(org.opengis.parameter.ParameterValueGroup)">castOrWrap(ParameterValueGroup)</a></span> - Static method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the given parameter value group as a <code>Parameters</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#castTo(java.lang.Class)">castTo(Class&lt;N&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Casts this range to the specified type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#castTo(java.lang.Class)">castTo(Class&lt;N&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Casts this range to the specified type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#CAT">CAT</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/cat/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#categories()">categories()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Returns the list of categories added so far.</div>
</dd>
<dt><a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage"><span class="typeNameLink">Category</span></a> - Class in <a href="org/apache/sis/coverage/package-summary.html">org.apache.sis.coverage</a></dt>
<dd>
<div class="block">Describes a sub-range of sample values in a sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#%3Cinit%3E(java.lang.CharSequence,org.apache.sis.measure.NumberRange,org.opengis.referencing.operation.MathTransform1D,javax.measure.Unit,java.util.function.DoubleToIntFunction)">Category(CharSequence, NumberRange&lt;?&gt;, MathTransform1D, Unit&lt;?&gt;, DoubleToIntFunction)</a></span> - Constructor for class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Constructs a qualitative or quantitative category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#%3Cinit%3E(org.apache.sis.coverage.Category)">Category(Category)</a></span> - Constructor for class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Creates a copy of the given category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#ceil()">ceil()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns this fraction rounded toward positive infinity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#CELSIUS">CELSIUS</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as the temperature in Kelvin minus 273.15.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#CENTIMETRE">CENTIMETRE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 0.01 metres (1 cm).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#CENTRAL_MERIDIAN">CENTRAL_MERIDIAN</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the <cite>central meridian</cite> parameter (symbol: λ₀).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#centroid(org.opengis.metadata.extent.GeographicBoundingBox)">centroid(GeographicBoundingBox)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns the position at the median longitude and latitude values of the given bounding box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#changeArrayDimension(java.lang.Class,int)">changeArrayDimension(Class&lt;?&gt;, int)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Changes the array dimension by the given amount.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#CHARACTER">CHARACTER</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 2 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#characteristics()">characteristics()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Other attributes that describes this attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#characteristics()">characteristics()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Returns a view of all characteristics added to the <code>AttributeType</code> to build.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#characteristics()">characteristics()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Other attribute types that describes this attribute type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#CHARACTERISTICS">CHARACTERISTICS</a></span> - <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Other attributes that describes the attribute.</div>
</dd>
<dt><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder"><span class="typeNameLink">CharacteristicTypeBuilder</span></a>&lt;<a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="type parameter in CharacteristicTypeBuilder">V</a>&gt; - Class in <a href="org/apache/sis/feature/builder/package-summary.html">org.apache.sis.feature.builder</a></dt>
<dd>
<div class="block">Describes one characteristic of the <code>AttributeType</code> will will be built by a <code>FeatureTypeBuilder</code>.</div>
</dd>
<dt><a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util"><span class="typeNameLink">Characters</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods working on <code>char</code> values, and some character constants.</div>
</dd>
<dt><a href="org/apache/sis/util/Characters.Filter.html" title="class in org.apache.sis.util"><span class="typeNameLink">Characters.Filter</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Subsets of Unicode characters identified by their general category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html#charAt(int)">charAt(int)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html" title="class in org.apache.sis.metadata.iso.maintenance">LegacyFeatureType</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractInternationalString.html#charAt(int)">charAt(int)</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso">AbstractInternationalString</a></dt>
<dd>
<div class="block">Returns the character of the string in the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true#getDefault()" title="class or interface in java.util" class="externalLink">default locale</a>
 at the specified index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#charAt(int)">charAt(int)</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns the <code>char</code> value at the specified index.</div>
</dd>
<dt><a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util"><span class="typeNameLink">CharSequences</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods working with <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>CharSequence</code></a> instances.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/CheckedContainer.html" title="interface in org.apache.sis.util.collection"><span class="typeNameLink">CheckedContainer</span></a>&lt;<a href="org/apache/sis/util/collection/CheckedContainer.html" title="type parameter in CheckedContainer">E</a>&gt; - Interface in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A container that ensures that all elements are assignable to a given base type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#checkWritePermission()">checkWritePermission()</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/metadata/ModifiableMetadata.html#checkWritePermission(java.lang.Object)"><code>ModifiableMetadata.checkWritePermission(Object)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#checkWritePermission(java.lang.Object)">checkWritePermission(Object)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Checks if changes in the metadata are allowed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Shapes2D.html#circle(java.awt.geom.Point2D,java.awt.geom.Point2D,java.awt.geom.Point2D)">circle(Point2D, Point2D, Point2D)</a></span> - Static method in class <a href="org/apache/sis/geometry/Shapes2D.html" title="class in org.apache.sis.geometry">Shapes2D</a></dt>
<dd>
<div class="block">Returns a circle passing by the 3 given points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#CIT">CIT</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/cit/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#CITATION">CITATION</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Citation (typically for the <a href="org/apache/sis/referencing/ImmutableIdentifier.html#getAuthority()">authority</a>), often represented by <code>CITATION[…]</code> elements.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">Citations</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">A set of pre-defined constants and static methods working on <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Citation.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">citations</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Latitude.html#clamp(double)">clamp(double)</a></span> - Static method in class <a href="org/apache/sis/measure/Latitude.html" title="class in org.apache.sis.measure">Latitude</a></dt>
<dd>
<div class="block">Returns the given latitude value clamped to the [<a href="org/apache/sis/measure/Latitude.html#MIN_VALUE">-90</a> … <a href="org/apache/sis/measure/Latitude.html#MAX_VALUE">90</a>]° range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#CLARKE_FOOT">CLARKE_FOOT</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 0.3047972654 metres.</div>
</dd>
<dt><a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util"><span class="typeNameLink">Classes</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods working on <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Class</code></a> objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Reset this builder to the same state than after construction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Clears all setting in this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Resets the <code>LineAppender</code> internal state as if a new line was beginning.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Removes all of the elements from this collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Resets this transform separator in the same state than after construction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Clears the content of this cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Removes all elements from this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Removes all elements from this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Discards all elements in this list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Removes all elements from this set of ranges.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Removes all of the elements from this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#clear()">clear()</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Removes all of the elements from this map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Returns a copy of this association.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Returns a copy of this attribute if cloning is supported.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Returns a copy of this position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Returns a clone of this point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns a clone of this envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Returns a deep copy of this position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Returns a deep copy of this envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">Returns a clone of this <code>Colors</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns a clone of this <code>Symbols</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Returns a clone of this line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Returns a clone of this plane.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns a clone of this statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns a clone of this <code>AngleFormat</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Returns a clone of this range format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Returns a clone of this unit format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns a modifiable copy of this representative fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns a clone of this parameter value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Returns a deep copy of this group of parameter values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns a copy of this group of parameter values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Returns a copy of this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/LocationFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/LocationFormat.html" title="class in org.apache.sis.referencing.gazetteer">LocationFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns a clone of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Returns a modifiable clone of this parameter value group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Returns a clone of this transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Returns a new set of the same class containing the same elements than this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Returns a clone of this table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Returns a clone of this node without parent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns a clone of this list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a clone of this range set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#clone()">clone()</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Returns a clone of this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Releases any resources hold by this iterator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="block">Closes the database connection used by this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Immediately closes all Data Access Objects that are closeable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Closes the JDBC connection used by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Closes this data store and releases any underlying resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStore.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation">LandsatStore</a></dt>
<dd>
<div class="block">Closes this Landsat store and releases any underlying resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStore</a></dt>
<dd>
<div class="block">Closes this GeoTIFF store and releases any underlying resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Closes this netCDF store and releases any underlying resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStore.html#close()">close()</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql">SQLStore</a></dt>
<dd>
<div class="block">Closes this SQL store and releases any underlying resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/IO.html#close(java.lang.Appendable)">close(Appendable)</a></span> - Static method in class <a href="org/apache/sis/io/IO.html" title="class in org.apache.sis.io">IO</a></dt>
<dd>
<div class="block">If the given <code>out</code> argument implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>Closeable</code></a>, or is a chain
 of wrappers defined in this package around a closeable object, invokes the
 <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close()" title="class or interface in java.io" class="externalLink"><code>close()</code></a> method on that object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#closeAllExcept(java.lang.Object)">closeAllExcept(Object)</a></span> - Method in class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Closes all streams and connections created by this <code>StorageConnector</code> except the given view.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#CODE_LIST">CODE_LIST</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block"><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/CodeList.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">Code list</a> values.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">CodeListSet</span></a>&lt;<a href="org/apache/sis/util/collection/CodeListSet.html" title="type parameter in CodeListSet">E</a> extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/CodeList.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">CodeList</a>&lt;<a href="org/apache/sis/util/collection/CodeListSet.html" title="type parameter in CodeListSet">E</a>&gt;&gt; - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A specialized <code>Set</code> implementation for use with <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/CodeList.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>CodeList</code></a> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#%3Cinit%3E(java.lang.Class)">CodeListSet(Class&lt;E&gt;)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Creates an initially empty set for code lists of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#%3Cinit%3E(java.lang.Class,boolean)">CodeListSet(Class&lt;E&gt;, boolean)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Creates set for code lists of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#codePointCount(java.lang.CharSequence)">codePointCount(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the number of Unicode code points in the given characters sequence,
 or 0 if <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#codePointCount(java.lang.CharSequence,int,int)">codePointCount(CharSequence, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the number of Unicode code points in the given characters sub-sequence,
 or 0 if <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html#%3Cinit%3E()">Coder()</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Creates a new geohash coder/decoder initialized to the default precision.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#%3Cinit%3E()">Coder()</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Creates a new coder initialized to the default precision and separator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#coefficients(javax.measure.UnitConverter)">coefficients(UnitConverter)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns the coefficients of the given converter expressed as a polynomial equation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Shapes2D.html#colinearPoint(java.awt.geom.Line2D,java.awt.geom.Point2D,double)">colinearPoint(Line2D, Point2D, double)</a></span> - Static method in class <a href="org/apache/sis/geometry/Shapes2D.html" title="class in org.apache.sis.geometry">Shapes2D</a></dt>
<dd>
<div class="block">Returns a point on the given <code>line</code> segment located at the given <code>distance</code> from that line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#collectionType(java.lang.Class)">collectionType(Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Returns the type of collection to use for the given type.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">Colors</span></a> - Class in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">The colors to use for formatting <cite>Well Known Text</cite> (WKT) objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#%3Cinit%3E()">Colors()</a></span> - Constructor for class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">Creates a new, initially empty, set of colors.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#%3Cinit%3E(org.apache.sis.io.wkt.Colors)">Colors(Colors)</a></span> - Constructor for class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">Creates a new set of colors initialized to a copy of the given one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#columnSeparator">columnSeparator</a></span> - Variable in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">The string to write after the <a href="org/apache/sis/io/TabularFormat.html#fillCharacter"><code>TabularFormat.fillCharacter</code></a>, or an empty string if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#combine(org.apache.sis.math.Statistics)">combine(Statistics)</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Updates statistics with all samples from the specified <code>stats</code>.</div>
</dd>
<dt><a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console"><span class="typeNameLink">Command</span></a> - Class in <a href="org/apache/sis/console/package-summary.html">org.apache.sis.console</a></dt>
<dd>
<div class="block">Command line interface for Apache SIS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#%3Cinit%3E(java.lang.String%5B%5D)">Command(String[])</a></span> - Constructor for class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">Creates a new command for the given arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#COMMENT">COMMENT</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "comment" attribute name for miscellaneous information about the data
 (<em>Recommended</em>).</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">CommonAuthorityFactory</span></a> - Class in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Creates coordinate reference systems in the "<code>OGC</code>", "<code>CRS</code>" or <code>"AUTO(2)"</code> namespaces.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html#%3Cinit%3E()">CommonAuthorityFactory()</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">CommonAuthorityFactory</a></dt>
<dd>
<div class="block">Constructs a default factory for the <code>CRS</code> authority.</div>
</dd>
<dt><a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing"><span class="typeNameLink">CommonCRS</span></a> - Enum in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Frequently-used geodetic CRS and datum that are guaranteed to be available in SIS.</div>
</dd>
<dt><a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing"><span class="typeNameLink">CommonCRS.Temporal</span></a> - Enum in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Frequently-used temporal CRS and datum that are guaranteed to be available in SIS.</div>
</dd>
<dt><a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing"><span class="typeNameLink">CommonCRS.Vertical</span></a> - Enum in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Frequently-used vertical CRS and datum that are guaranteed to be available in SIS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#commonDivisors(int...)">commonDivisors(int...)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the positive divisors which are common to all the specified numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#commonPrefix(java.lang.CharSequence,java.lang.CharSequence)">commonPrefix(CharSequence, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the longest sequence of characters which is found at the beginning of the two
 given texts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#commonSuffix(java.lang.CharSequence,java.lang.CharSequence)">commonSuffix(CharSequence, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the longest sequence of characters which is found at the end of the two given texts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ValueExistencePolicy.html#COMPACT">COMPACT</a></span> - <a href="org/apache/sis/metadata/ValueExistencePolicy.html" title="enum in org.apache.sis.metadata">ValueExistencePolicy</a></dt>
<dd>
<div class="block">Includes non-empty properties but omits <a href="org/apache/sis/metadata/TitleProperty.html" title="annotation in org.apache.sis.metadata">title properties</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#comparator()">comparator()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns the comparator used to order the elements in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#comparator()">comparator()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns the comparator associated with this sorted set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#compare(E,E)">compare(E, E)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Compares the specified elements for <a href="org/apache/sis/util/collection/FrequencySortedSet.html#frequency(E)">frequency</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#compare(java.util.Iterator,java.util.Iterator)">compare(Iterator&lt;E&gt;, Iterator&lt;? extends E&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Compares element-by-element the values provided by two iterators, in iteration order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#compareTo(org.apache.sis.math.Fraction)">compareTo(Fraction)</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Compares this fraction with the given one for order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#compareTo(org.apache.sis.measure.Angle)">compareTo(Angle)</a></span> - Method in class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Compares two <code>Angle</code> objects numerically.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#compareTo(org.apache.sis.util.Version)">compareTo(Version)</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Compares this version with an other version object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#compareTo(org.apache.sis.util.Version,int)">compareTo(Version, int)</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Compares this version with an other version object, up to the specified limit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#compareTo(org.opengis.util.GenericName)">compareTo(GenericName)</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Compares this name with the specified object for order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#compareTo(org.opengis.util.GenericName)">compareTo(GenericName)</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Compares this name with the specified name for order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#compareTo(org.opengis.util.GenericName)">compareTo(GenericName)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Compares this name with the specified object for order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractInternationalString.html#compareTo(org.opengis.util.InternationalString)">compareTo(InternationalString)</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso">AbstractInternationalString</a></dt>
<dd>
<div class="block">Compares this string with the specified object for order.</div>
</dd>
<dt><a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util"><span class="typeNameLink">ComparisonMode</span></a> - Enum in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Specifies the level of strictness when comparing two <a href="org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util"><code>LenientComparable</code></a> objects
 for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.State.html#COMPLETABLE">COMPLETABLE</a></span> - <a href="org/apache/sis/metadata/ModifiableMetadata.State.html" title="enum in org.apache.sis.metadata">ModifiableMetadata.State</a></dt>
<dd>
<div class="block">The metadata allows missing values to be set, but does not allow existing values to be modified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#complete(java.util.Map)">complete(Map&lt;String, ?&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Returns the union of the given <code>properties</code> map with the default properties given at
 <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#%3Cinit%3E(java.util.Map)">construction time</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#complete(java.util.Map)">complete(Map&lt;String, ?&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Returns the union of the given <code>properties</code> map with the default properties given at
 <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.operation.MathTransformFactory)">construction time</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#completeTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.operation.MathTransform)">completeTransform(MathTransformFactory, MathTransform)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Marks this <code>ContextualParameter</code> as unmodifiable and creates the
 <cite>normalize</cite> → <code>kernel</code> → <cite>denormalize</cite> transforms chain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/Aggregate.html#components()">components()</a></span> - Method in interface <a href="org/apache/sis/storage/Aggregate.html" title="interface in org.apache.sis.storage">Aggregate</a></dt>
<dd>
<div class="block">Returns the children resources of this aggregate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html#components()">components()</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStore</a></dt>
<dd>
<div class="block">Returns descriptions of all images in this GeoTIFF file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#components()">components()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Returns the resources (features or coverages) in this netCDF store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStore.html#components()">components()</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql">SQLStore</a></dt>
<dd>
<div class="block">Returns the resources (features or coverages) in this SQL store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureOperations.html#compound(java.util.Map,java.lang.String,java.lang.String,java.lang.String,org.apache.sis.feature.AbstractIdentifiedType...)">compound(Map&lt;String, ?&gt;, String, String, String, AbstractIdentifiedType...)</a></span> - Static method in class <a href="org/apache/sis/feature/FeatureOperations.html" title="class in org.apache.sis.feature">FeatureOperations</a></dt>
<dd>
<div class="block">Creates an operation concatenating the string representations of the values of multiple properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#compound(org.opengis.geometry.Envelope...)">compound(Envelope...)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Puts together a list of envelopes, each of them using an independent coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#compound(org.opengis.referencing.crs.CoordinateReferenceSystem...)">compound(CoordinateReferenceSystem...)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Creates a compound coordinate reference system from an ordered list of CRS components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#compound(org.opengis.referencing.operation.MathTransform...)">compound(MathTransform...)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Puts together a list of independent math transforms, each of them operating on a subset of coordinate values.</div>
</dd>
<dt><a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io"><span class="typeNameLink">CompoundFormat</span></a>&lt;<a href="org/apache/sis/io/CompoundFormat.html" title="type parameter in CompoundFormat">T</a>&gt; - Class in <a href="org/apache/sis/io/package-summary.html">org.apache.sis.io</a></dt>
<dd>
<div class="block">Base class of <a href="https://docs.oracle.com/javase/8/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text" class="externalLink"><code>Format</code></a> implementations which delegate part of their work to other
 <code>Format</code> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">CompoundFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Creates a new format for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#compress(double)">compress(double)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a vector with the same data than this vector but encoded in a more compact way,
 or <code>this</code> if this method can not do better than current <code>Vector</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#compute(K,java.util.function.BiFunction)">compute(K, BiFunction&lt;? super K, ? super V, ? extends V&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Replaces the value mapped to the given key by a new value computed from the old value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Invoked by <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#hashCode()"><code>AbstractIdentifiedObject.hashCode()</code></a> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Invoked by <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#hashCode()"><code>AbstractIdentifiedObject.hashCode()</code></a> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Invoked by <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#hashCode()"><code>AbstractIdentifiedObject.hashCode()</code></a> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractReferenceSystem.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractReferenceSystem.html" title="class in org.apache.sis.referencing">AbstractReferenceSystem</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum">DefaultImageDatum</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultTemporalDatum</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultVerticalDatum</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Invoked by <code>hashCode()</code> for computing the hash code when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Computes a hash code value for this <code>NormalizedProjection</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html" title="class in org.apache.sis.referencing.operation.projection">ZonedGridSystem</a></dt>
<dd>
<div class="block">Computes a hash code value for this <code>ZonedGridSystem</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Computes a hash value for this transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Computes a hash value for this transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html" title="class in org.apache.sis.referencing.operation.transform">DatumShiftTransform</a></dt>
<dd>
<div class="block">Computes a hash value for this transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Computes a hash value for this transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Computes a hash value for this transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#computeHashCode()">computeHashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Computes a hash value for this transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#computeIfAbsent(K,java.util.function.Function)">computeIfAbsent(K, Function&lt;? super K, ? extends V&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns the value for the given key if it exists, or computes it otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#computeIfPresent(K,java.util.function.BiFunction)">computeIfPresent(K, BiFunction&lt;? super K, ? super V, ? extends V&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Replaces the value mapped to the given key by a new value computed from the old value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#concatenate(org.apache.sis.math.Vector)">concatenate(Vector)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the concatenation of this vector with the given one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#concatenate(org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D)">concatenate(MathTransform1D, MathTransform1D)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Concatenates the given one-dimensional transforms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#concatenate(org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D)">concatenate(MathTransform1D, MathTransform1D, MathTransform1D)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Concatenates the three given one-dimensional transforms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#concatenate(org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D)">concatenate(MathTransform2D, MathTransform2D)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Concatenates the given two-dimensional transforms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#concatenate(org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D)">concatenate(MathTransform2D, MathTransform2D, MathTransform2D)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Concatenates the three given two-dimensional transforms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)">concatenate(MathTransform, MathTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Concatenates the two given transforms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)">concatenate(MathTransform, MathTransform, MathTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Concatenates the three given transforms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#concatenate(T%5B%5D...)">concatenate(T[]...)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns the concatenation of all given arrays.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">ConcurrentAuthorityFactory</span></a>&lt;<a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="type parameter in ConcurrentAuthorityFactory">DAO</a> extends <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a>&gt; - Class in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">A concurrent authority factory that caches all objects created by another factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#%3Cinit%3E(java.lang.Class)">ConcurrentAuthorityFactory(Class&lt;DAO&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Constructs an instance with a default number of threads and a default number of entries to keep
 by strong references.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#%3Cinit%3E(java.lang.Class,int,int)">ConcurrentAuthorityFactory(Class&lt;DAO&gt;, int, int)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Constructs an instance with the specified number of entries to keep by strong references.</div>
</dd>
<dt><a href="org/apache/sis/storage/ConcurrentReadException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">ConcurrentReadException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when an operation can not be performed while a read operation is in progress.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ConcurrentReadException.html#%3Cinit%3E()">ConcurrentReadException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/ConcurrentReadException.html" title="class in org.apache.sis.storage">ConcurrentReadException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ConcurrentReadException.html#%3Cinit%3E(java.lang.String)">ConcurrentReadException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ConcurrentReadException.html" title="class in org.apache.sis.storage">ConcurrentReadException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ConcurrentReadException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ConcurrentReadException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ConcurrentReadException.html" title="class in org.apache.sis.storage">ConcurrentReadException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ConcurrentReadException.html#%3Cinit%3E(java.util.Locale,java.lang.String)">ConcurrentReadException(Locale, String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ConcurrentReadException.html" title="class in org.apache.sis.storage">ConcurrentReadException</a></dt>
<dd>
<div class="block">Creates a localized exception for an operation that can not be executed while a read operation is in progress.</div>
</dd>
<dt><a href="org/apache/sis/storage/ConcurrentWriteException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">ConcurrentWriteException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when an operation can not be performed while a write operation is in progress.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ConcurrentWriteException.html#%3Cinit%3E()">ConcurrentWriteException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/ConcurrentWriteException.html" title="class in org.apache.sis.storage">ConcurrentWriteException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ConcurrentWriteException.html#%3Cinit%3E(java.lang.String)">ConcurrentWriteException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ConcurrentWriteException.html" title="class in org.apache.sis.storage">ConcurrentWriteException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ConcurrentWriteException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ConcurrentWriteException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ConcurrentWriteException.html" title="class in org.apache.sis.storage">ConcurrentWriteException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ConcurrentWriteException.html#%3Cinit%3E(java.util.Locale,java.lang.String)">ConcurrentWriteException(Locale, String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ConcurrentWriteException.html" title="class in org.apache.sis.storage">ConcurrentWriteException</a></dt>
<dd>
<div class="block">Creates a localized exception for an operation that can not be executed while a write operation is in progress.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#config(java.lang.String)">config(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Level.html?is-external=true#CONFIG" title="class or interface in java.util.logging" class="externalLink"><code>CONFIG</code></a> message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#configuration()">configuration()</a></span> - Static method in enum <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Returns all known information about the current Apache SIS running environment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#configuration(java.util.Set,java.util.Locale,java.util.TimeZone)">configuration(Set&lt;About&gt;, Locale, TimeZone)</a></span> - Static method in enum <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Returns a subset of the information about the current Apache SIS running environment.</div>
</dd>
<dt><a href="org/apache/sis/setup/Configuration.html" title="class in org.apache.sis.setup"><span class="typeNameLink">Configuration</span></a> - Class in <a href="org/apache/sis/setup/package-summary.html">org.apache.sis.setup</a></dt>
<dd>
<div class="block">Provides system-wide configuration for Apache SIS library.</div>
</dd>
<dt><a href="org/apache/sis/util/Configuration.html" title="annotation in org.apache.sis.util"><span class="typeNameLink">Configuration</span></a> - Annotation Type in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Annotates methods having a system-wide impact on the configuration of the Apache SIS library.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#connection">connection</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">The connection to the EPSG database.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">Containers</span></a> - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">Static methods working on <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"><code>Collection</code></a> or <a href="org/apache/sis/util/collection/CheckedContainer.html" title="interface in org.apache.sis.util.collection"><code>CheckedContainer</code></a> objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#contains(double,double)">contains(double, double)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Tests if a specified coordinate is inside the boundary of this envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#contains(double,double,double,double)">contains(double, double, double, double)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this envelope completely encloses the specified rectangle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.Filter.html#contains(int)">contains(int)</a></span> - Method in class <a href="org/apache/sis/util/Characters.Filter.html" title="class in org.apache.sis.util">Characters.Filter</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this subset contains the given Unicode character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#contains(E)">contains(E)</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this range contains the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#contains(java.awt.geom.Rectangle2D)">contains(Rectangle2D)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this envelope completely encloses the specified rectangle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#contains(java.lang.Object)">contains(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this collection contains the specified <code>IdentifiedObject</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#contains(java.lang.Object)">contains(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this set contains the given element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#contains(java.lang.Object)">contains(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this set contains the specified element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#contains(java.lang.Object)">contains(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given object is an instance of <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure"><code>Range</code></a> compatible
 with this set and contained inside one of the range elements of this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#contains(java.lang.Object)">contains(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this set contains the specified element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#contains(java.lang.Object%5B%5D,java.lang.Object)">contains(Object[], Object)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified array contains the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#contains(org.apache.sis.measure.Range)">contains(Range&lt;? extends E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the supplied range is fully contained within this range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#contains(org.apache.sis.measure.Range)">contains(Range&lt;? extends E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the supplied range is fully contained within this range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#contains(org.apache.sis.measure.Range,boolean)">contains(Range&lt;E&gt;, boolean)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this set contains the specified element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#contains(org.opengis.geometry.DirectPosition)">contains(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Tests if a specified coordinate is inside the boundary of this envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#contains(org.opengis.geometry.Envelope)">contains(Envelope)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this envelope completely encloses the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#contains(org.opengis.geometry.Envelope,boolean)">contains(Envelope, boolean)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this envelope completely encloses the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#containsAll(java.util.Collection)">containsAll(Collection&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this set contains all the elements of the given collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#containsAny(java.lang.Number)">containsAny(Number)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this range contains the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#containsAny(org.apache.sis.measure.NumberRange)">containsAny(NumberRange&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the supplied range is fully contained within this range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#containsAxis(java.lang.CharSequence)">containsAxis(CharSequence)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given WKT contains at least one instance of the <code>AXIS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#containsElement(java.lang.CharSequence,java.lang.String)">containsElement(CharSequence, String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given WKT contains at least one instance of the given element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#containsIdentity(java.lang.Object%5B%5D,java.lang.Object)">containsIdentity(Object[], Object)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified array contains the specified reference.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#containsIgnoreCase(java.lang.String%5B%5D,java.lang.String)">containsIgnoreCase(String[], String)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified array contains the specified value, ignoring case.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#containsKey(java.lang.Object)">containsKey(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this map contains the specified key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#containsKey(java.lang.Object)">containsKey(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this map contains a mapping for the specified key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.Filter.html#containsType(int)">containsType(int)</a></span> - Method in class <a href="org/apache/sis/util/Characters.Filter.html" title="class in org.apache.sis.util">Characters.Filter</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this subset contains the characters of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#containsValue(java.lang.Object)">containsValue(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this map maps one or more keys to this value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/IO.html#content(java.lang.Appendable)">content(Appendable)</a></span> - Static method in class <a href="org/apache/sis/io/IO.html" title="class in org.apache.sis.io">IO</a></dt>
<dd>
<div class="block">If the given <code>out</code> argument implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>CharSequence</code></a>, or is a
 chain of wrappers defined in this package around a <code>CharSequence</code>,
 returns that character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#context">context</a></span> - Variable in class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">The JAXB context to use for creating marshaller and unmarshaller.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#%3Cinit%3E()">Context()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Creates a new context with all properties initialized to <code>null</code>.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">ContextualParameters</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">The parameters that describe a sequence of
 <cite>normalize</cite> → <cite>non-linear kernel</cite> → <cite>denormalize</cite> transforms as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#%3Cinit%3E(org.opengis.parameter.ParameterDescriptorGroup,int,int)">ContextualParameters(ParameterDescriptorGroup, int, int)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Creates a new group of parameters with the given descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod)">ContextualParameters(OperationMethod)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Creates a new group of parameters for the given non-linear coordinate operation method.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">ContextualParameters.MatrixRole</span></a> - Enum in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Whether a matrix is used for <cite>normalization</cite> or <cite>denormalization</cite>
 before or after a non-linear operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#CONTRIBUTOR">CONTRIBUTOR</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the contributor (<em>Suggested</em>).</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt"><span class="typeNameLink">Convention</span></a> - Enum in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">The convention to use for WKT formatting.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxesConvention.html#CONVENTIONALLY_ORIENTED">CONVENTIONALLY_ORIENTED</a></span> - Static variable in enum <a href="org/apache/sis/referencing/cs/AxesConvention.html" title="enum in org.apache.sis.referencing.cs">AxesConvention</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/referencing/cs/AxesConvention.html#DISPLAY_ORIENTED"><code>AxesConvention.DISPLAY_ORIENTED</code></a> since "conventional" is too vague.
             For example the (latitude, longitude) axis order is also conventional.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverters.html#convert(java.lang.Object,java.lang.Class)">convert(Object, Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/ObjectConverters.html" title="class in org.apache.sis.util">ObjectConverters</a></dt>
<dd>
<div class="block">Converts the given value to the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#convertAfter(int,java.lang.Number,java.lang.Number)">convertAfter(int, Number, Number)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Assuming that this matrix represents an affine transform, pre-concatenates a scale and a translation on the
 given dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#convertBefore(int,java.lang.Number,java.lang.Number)">convertBefore(int, Number, Number)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Assuming that this matrix represents an affine transform, concatenates a scale and a translation on the
 given dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#converter(java.lang.Number,java.lang.Number)">converter(Number, Number)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Creates a linear converter from the given scale and offset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#CONVERTER">CONVERTER</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Controls the behaviors of the (un)marshalling process when an element can not be processed,
 or alter the element values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#convertTo(javax.measure.Unit)">convertTo(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Converts this range to the specified unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#coordinate">coordinate</a></span> - Variable in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">The coordinate value.</div>
</dd>
<dt><a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">CoordinateFormat</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">Formats spatiotemporal coordinates using number, angle and date formats inferred from the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#%3Cinit%3E()">CoordinateFormat()</a></span> - Constructor for class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Constructs a new coordinate format with default locale and timezone.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">CoordinateFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Constructs a new coordinate format for the specified locale and timezone.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">CoordinateOperationContext</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">Optional information about the context in which a requested coordinate operation will be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html#%3Cinit%3E()">CoordinateOperationContext()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationContext</a></dt>
<dd>
<div class="block">Creates a new context with no area of interest and the best accuracy available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html#%3Cinit%3E(org.opengis.metadata.extent.Extent,double)">CoordinateOperationContext(Extent, double)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationContext</a></dt>
<dd>
<div class="block">Creates a new context with the given area of interest and desired accuracy.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">CoordinateOperationFinder</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">Finds a conversion or transformation path from a source CRS to a target CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#%3Cinit%3E(org.opengis.referencing.operation.CoordinateOperationAuthorityFactory,org.opengis.referencing.operation.CoordinateOperationFactory,org.apache.sis.referencing.operation.CoordinateOperationContext)">CoordinateOperationFinder(CoordinateOperationAuthorityFactory, CoordinateOperationFactory, CoordinateOperationContext)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates a new instance for the given factory and context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#coordinates">coordinates</a></span> - Variable in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">The coordinates of the direct position.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">CoordinateSystems</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">Utility methods working on <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/CoordinateSystem.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink"><code>CoordinateSystem</code></a> objects and their axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#copFactory">copFactory</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">The factory to use for creating <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/CoordinateOperation.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>CoordinateOperation</code></a> instances
 from the properties read in the database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataCopier.html#copy(java.lang.Class,T)">copy(Class&lt;T&gt;, T)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataCopier.html" title="class in org.apache.sis.metadata">MetadataCopier</a></dt>
<dd>
<div class="block">Performs a potentially deep copy of the given metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataCopier.html#copy(java.lang.Object)">copy(Object)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataCopier.html" title="class in org.apache.sis.metadata">MetadataCopier</a></dt>
<dd>
<div class="block">Performs a potentially deep copy of a metadata object of unknown type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#copy(org.opengis.parameter.ParameterValueGroup,org.opengis.parameter.ParameterValueGroup)">copy(ParameterValueGroup, ParameterValueGroup)</a></span> - Static method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Copies the values of a parameter group into another parameter group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#copy(org.opengis.referencing.operation.Matrix)">copy(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a new matrix which is a copy of the given matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#copyAsFloats(double%5B%5D)">copyAsFloats(double[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns a copy of the given array where each value has been casted to the <code>float</code> type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#copyAsFloatsIfLossless(double%5B%5D)">copyAsFloatsIfLossless(double[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns a copy of the given array where each value has been casted to the <code>float</code> type,
 but only if all casts are lossless.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#copyChars(java.lang.CharSequence,int,char%5B%5D,int,int)">copyChars(CharSequence, int, char[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Copies a sequence of characters in the given <code>char[]</code> array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#copyCollection(java.util.Collection,java.lang.Class)">copyCollection(Collection&lt;? extends E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Creates a list or set with the content of the <code>source</code> collection,
 or returns <code>null</code> if the source is <code>null</code> or empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#copyList(java.util.Collection,java.lang.Class)">copyList(Collection&lt;? extends E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Creates a list with the content of the <code>source</code> collection,
 or returns <code>null</code> if the source is <code>null</code> or empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#copyMap(java.util.Map,java.lang.Class)">copyMap(Map&lt;? extends K, ? extends V&gt;, Class&lt;K&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Creates a map with the content of the <code>source</code> map,
 or returns <code>null</code> if the source is <code>null</code> or empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataCopier.html#copyRecursively(java.lang.Class,java.lang.Object)">copyRecursively(Class&lt;?&gt;, Object)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataCopier.html" title="class in org.apache.sis.metadata">MetadataCopier</a></dt>
<dd>
<div class="block">Performs the actual copy operation on a single metadata instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#copySet(java.util.Collection,java.lang.Class)">copySet(Collection&lt;? extends E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Creates a set with the content of the <code>source</code> collection,
 or returns <code>null</code> if the source is <code>null</code> or empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#correlation()">correlation()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Returns the Pearson correlation coefficients of the transform created by <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#create(org.opengis.referencing.operation.MathTransformFactory)"><code>create(…)</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/util/CorruptedObjectException.html" title="class in org.apache.sis.util"><span class="typeNameLink">CorruptedObjectException</span></a> - Exception in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">May be thrown on attempt to use an object which has been corrupted by a previous operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CorruptedObjectException.html#%3Cinit%3E()">CorruptedObjectException()</a></span> - Constructor for exception <a href="org/apache/sis/util/CorruptedObjectException.html" title="class in org.apache.sis.util">CorruptedObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CorruptedObjectException.html#%3Cinit%3E(java.lang.Exception)">CorruptedObjectException(Exception)</a></span> - Constructor for exception <a href="org/apache/sis/util/CorruptedObjectException.html" title="class in org.apache.sis.util">CorruptedObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CorruptedObjectException.html#%3Cinit%3E(java.lang.String)">CorruptedObjectException(String)</a></span> - Constructor for exception <a href="org/apache/sis/util/CorruptedObjectException.html" title="class in org.apache.sis.util">CorruptedObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CorruptedObjectException.html#%3Cinit%3E(org.opengis.referencing.IdentifiedObject)">CorruptedObjectException(IdentifiedObject)</a></span> - Constructor for exception <a href="org/apache/sis/util/CorruptedObjectException.html" title="class in org.apache.sis.util">CorruptedObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the name of the given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#cost(V)">cost(V)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Computes an estimation of the cost of the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#COULOMB">COULOMB</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for electric charge (C).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#count()">count()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the number of samples, excluding <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>NaN</code></a> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#count(java.lang.CharSequence,char)">count(CharSequence, char)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Counts the number of occurrence of the given character in the given character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#count(java.lang.CharSequence,java.lang.String)">count(CharSequence, String)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the number of occurrences of the <code>toSearch</code> string in the given <code>text</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#countNaN()">countNaN()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the number of <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>NaN</code></a> samples.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#create(byte,boolean,byte,boolean)">create(byte, boolean, byte, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>byte</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#create(double%5B%5D)">create(double[])</a></span> - Static method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Wraps the given array of floating point values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#create(double,boolean,double,boolean)">create(double, boolean, double, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>double</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#create(double,boolean,double,boolean,javax.measure.Unit)">create(double, boolean, double, boolean, Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>double</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Quantities.html#create(double,java.lang.String)">create(double, String)</a></span> - Static method in class <a href="org/apache/sis/measure/Quantities.html" title="class in org.apache.sis.measure">Quantities</a></dt>
<dd>
<div class="block">Creates a quantity for the given value and unit of measurement symbol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#create(double,javax.measure.Unit)">create(double, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor for floating point values without domain restriction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Quantities.html#create(double,javax.measure.Unit)">create(double, Unit&lt;Q&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Quantities.html" title="class in org.apache.sis.measure">Quantities</a></dt>
<dd>
<div class="block">Creates a quantity for the given value and unit of measurement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#create(float,boolean,float,boolean)">create(float, boolean, float, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>float</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#create(float,boolean,float,boolean,javax.measure.Unit)">create(float, boolean, float, boolean, Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>float</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#create(int,boolean,int,boolean)">create(int, boolean, int, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>int</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#create(int,int,double%5B%5D)">create(int, int, double[])</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a matrix of size <code>numRow</code> × <code>numCol</code> initialized to the given elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#create(int,int,java.lang.Number%5B%5D)">create(int, int, Number[])</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a matrix of size <code>numRow</code> × <code>numCol</code> initialized to the given numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#create(int,org.opengis.referencing.operation.MathTransform,int)">create(int, MathTransform, int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Moved to <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#passThrough(int,org.opengis.referencing.operation.MathTransform,int)"><code>MathTransforms.passThrough(int, MathTransform, int)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#create(long,boolean,long,boolean)">create(long, boolean, long, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>long</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#create(short,boolean,short,boolean)">create(short, boolean, short, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>short</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#create(java.awt.image.Raster)">create(Raster)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Creates a read-only iterator for the given raster.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#create(java.awt.image.RenderedImage)">create(RenderedImage)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Creates a read-only iterator for the given image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#create(java.awt.image.RenderedImage)">create(RenderedImage)</a></span> - Static method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Creates an iterator for all pixels in the given image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#create(java.awt.image.WritableRenderedImage)">create(WritableRenderedImage)</a></span> - Static method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Creates an iterator for all pixels in the given image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#create(java.lang.Class,boolean,boolean)">create(Class&lt;E&gt;, boolean, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Constructs an initially empty set of ranges.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#create(java.lang.Class,N)">create(Class&lt;N&gt;, N)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range containing a single value of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#create(java.lang.Class,T)">create(Class&lt;T&gt;, T)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor for values of the given type without domain restriction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#create(java.lang.Object,boolean)">create(Object, boolean)</a></span> - Static method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Wraps the given object in a vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#create(java.util.Map,org.opengis.referencing.crs.SingleCRS,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.OperationMethod,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.cs.CoordinateSystem)">create(Map&lt;String, ?&gt;, SingleCRS, CoordinateReferenceSystem, OperationMethod, MathTransform, CoordinateSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Creates a derived CRS from a math transform and a type inferred from the given arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#create(java.util.Map,org.opengis.referencing.crs.SingleCRS,org.opengis.referencing.operation.Conversion,org.opengis.referencing.cs.CoordinateSystem)">create(Map&lt;String, ?&gt;, SingleCRS, Conversion, CoordinateSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Creates a derived CRS from a defining conversion and a type inferred from the given arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#create(org.apache.sis.feature.DefaultAssociationRole)">create(DefaultAssociationRole)</a></span> - Static method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Creates a new association of the given role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#create(org.apache.sis.feature.DefaultAttributeType)">create(DefaultAttributeType&lt;V&gt;)</a></span> - Static method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Creates a new attribute of the given type initialized to the
 <a href="org/apache/sis/feature/DefaultAttributeType.html#getDefaultValue()">default value</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#create(org.opengis.referencing.crs.CoordinateReferenceSystem)">create(CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Constructs a new geodetic calculator expecting coordinates in the supplied CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#create(org.opengis.referencing.operation.MathTransformFactory)">create(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Creates a linear transform approximation from the source positions to the target positions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#create(org.opengis.referencing.operation.MathTransformFactory)">create(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Creates a transform from the source points to the target points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/TransformBuilder.html#create(org.opengis.referencing.operation.MathTransformFactory)">create(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/TransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">TransformBuilder</a></dt>
<dd>
<div class="block">Creates a transform from the source points to the target points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#CREATE">CREATE</a></span> - Static variable in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Name of the parameter that specifies whether to allow creation of a new <code>DataStore</code> if none exist
 at the given location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createAffineCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createAffineCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a two-dimensional affine coordinate system from the given pair of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createAffineCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createAffineCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a three-dimensional affine coordinate system from the given set of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createAffineTransform(org.opengis.referencing.operation.Matrix)">createAffineTransform(Matrix)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Creates an affine transform from a matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createBaseToDerived(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.parameter.ParameterValueGroup,org.opengis.referencing.cs.CoordinateSystem)">createBaseToDerived(CoordinateReferenceSystem, ParameterValueGroup, CoordinateSystem)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createParameterizedTransform(org.opengis.parameter.ParameterValueGroup,org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory.Context)"><code>DefaultMathTransformFactory.createParameterizedTransform(ParameterValueGroup, Context)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#createBestFit(java.lang.Number,boolean,java.lang.Number,boolean)">createBestFit(Number, boolean, Number, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range using the smallest type of <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"><code>Number</code></a> that can hold the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#createBestFit(java.lang.Number,boolean,java.lang.Number,boolean,javax.measure.Unit)">createBestFit(Number, boolean, Number, boolean, Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Constructs a range using the smallest type of <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"><code>Number</code></a> that can hold the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createBounded(double,double,double,javax.measure.Unit)">createBounded(double, double, double, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor for floating point values restricted to the given domain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createBounded(int,int,int)">createBounded(int, int, int)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor for integer values restricted to the given domain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createBounded(java.lang.Class,T,T,T)">createBounded(Class&lt;T&gt;, T, T, T)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor for values of the given type restricted to the given domain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createBounded(org.apache.sis.measure.Range,T)">createBounded(Range&lt;T&gt;, T)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor for values in the domain represented by the given <code>Range</code> object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createCartesianCS(java.lang.String)">createCartesianCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 2- or 3-dimensional Cartesian coordinate system made of straight orthogonal axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createCartesianCS(java.lang.String)">createCartesianCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 2- or 3-dimensional Cartesian coordinate system made of straight orthogonal axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createCartesianCS(java.lang.String)">createCartesianCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 2- or 3-dimensional Cartesian coordinate system made of straight orthogonal axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createCartesianCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createCartesianCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a two-dimensional Cartesian coordinate system from the given pair of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createCartesianCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createCartesianCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a three-dimensional Cartesian coordinate system from the given set of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.html#createCoder()">createCoder()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem</a></dt>
<dd>
<div class="block">Returns a new object performing conversions between <code>DirectPosition</code> and geohashes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.html#createCoder()">createCoder()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem</a></dt>
<dd>
<div class="block">Returns a new object performing conversions between <code>DirectPosition</code> and MGRS references.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createCompoundCRS(java.lang.String)">createCompoundCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a CRS describing the position of points through two or more independent coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createCompoundCRS(java.lang.String)">createCompoundCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a CRS describing the position of points through two or more independent coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createCompoundCRS(java.lang.String)">createCompoundCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a CRS describing the position of points through two or more independent coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createCompoundCRS(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem...)">createCompoundCRS(Map&lt;String, ?&gt;, CoordinateReferenceSystem...)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a compound coordinate reference system from an ordered list of CRS components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createConcatenatedOperation(java.util.Map,org.opengis.referencing.operation.CoordinateOperation...)">createConcatenatedOperation(Map&lt;String, ?&gt;, CoordinateOperation...)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Creates an ordered sequence of two or more single coordinate operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createConcatenatedTransform(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)">createConcatenatedTransform(MathTransform, MathTransform)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Creates a transform by concatenating two existing transforms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createCoordinateOperation(java.lang.String)">createCoordinateOperation(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns an operation for transforming coordinates in the source CRS to coordinates in the target CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createCoordinateOperation(java.lang.String)">createCoordinateOperation(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates an operation for transforming coordinates in the source CRS to coordinates in the target CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createCoordinateOperation(java.lang.String)">createCoordinateOperation(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates an operation for transforming coordinates in the source CRS to coordinates in the target CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createCoordinateOperation(java.lang.String)">createCoordinateOperation(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates an operation for transforming coordinates in the source CRS to coordinates in the target CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html#createCoordinateReferenceSystem(java.lang.String)">createCoordinateReferenceSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">CommonAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the specified code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createCoordinateReferenceSystem(java.lang.String)">createCoordinateReferenceSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns an arbitrary coordinate reference system from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createCoordinateReferenceSystem(java.lang.String)">createCoordinateReferenceSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates an arbitrary coordinate reference system from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createCoordinateReferenceSystem(java.lang.String)">createCoordinateReferenceSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates an arbitrary coordinate reference system from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createCoordinateReferenceSystem(java.lang.String)">createCoordinateReferenceSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates an arbitrary coordinate reference system from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createCoordinateSystem(java.lang.String)">createCoordinateSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns an arbitrary coordinate system from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createCoordinateSystem(java.lang.String)">createCoordinateSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates an arbitrary coordinate system from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createCoordinateSystem(java.lang.String)">createCoordinateSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates an arbitrary coordinate system from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createCoordinateSystem(java.lang.String)">createCoordinateSystem(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates an arbitrary coordinate system from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createCoordinateSystemAxis(java.lang.String)">createCoordinateSystemAxis(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a coordinate system axis with name, direction, unit and range of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createCoordinateSystemAxis(java.lang.String)">createCoordinateSystemAxis(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a coordinate system axis with name, direction, unit and range of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createCoordinateSystemAxis(java.lang.String)">createCoordinateSystemAxis(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a coordinate system axis with name, direction, unit and range of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createCoordinateSystemAxis(java.lang.String)">createCoordinateSystemAxis(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates a coordinate system axis with name, direction, unit and range of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createCoordinateSystemAxis(java.util.Map,java.lang.String,org.opengis.referencing.cs.AxisDirection,javax.measure.Unit)">createCoordinateSystemAxis(Map&lt;String, ?&gt;, String, AxisDirection, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a coordinate system axis from an abbreviation and a unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createCoordinateSystemChange(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.datum.Ellipsoid)">createCoordinateSystemChange(CoordinateSystem, CoordinateSystem, Ellipsoid)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Creates a math transform that represent a change of coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createCylindricalCS(java.lang.String)">createCylindricalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 3-dimensional coordinate system made of a polar coordinate system
 extended by a straight perpendicular axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createCylindricalCS(java.lang.String)">createCylindricalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 3-dimensional coordinate system made of a polar coordinate system
 extended by a straight perpendicular axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createCylindricalCS(java.lang.String)">createCylindricalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 3-dimensional coordinate system made of a polar coordinate system
 extended by a straight perpendicular axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createCylindricalCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createCylindricalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a cylindrical coordinate system from the given set of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createDatum(java.lang.String)">createDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns an arbitrary datum from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createDatum(java.lang.String)">createDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates an arbitrary datum from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createDatum(java.lang.String)">createDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates an arbitrary datum from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createDatum(java.lang.String)">createDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates an arbitrary datum from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createDefiningConversion(java.util.Map,org.opengis.referencing.operation.OperationMethod,org.opengis.parameter.ParameterValueGroup)">createDefiningConversion(Map&lt;String, ?&gt;, OperationMethod, ParameterValueGroup)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Creates a defining conversion from the given operation parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createDerivedCRS(java.lang.String)">createDerivedCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a CRS that is defined by its coordinate conversion from another CRS (not by a datum).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createDerivedCRS(java.lang.String)">createDerivedCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a CRS that is defined by its coordinate conversion from another CRS (not by a datum).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createDerivedCRS(java.lang.String)">createDerivedCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a CRS that is defined by its coordinate conversion from another CRS (not by a datum).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createDerivedCRS(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.Conversion,org.opengis.referencing.cs.CoordinateSystem)">createDerivedCRS(Map&lt;String, ?&gt;, CoordinateReferenceSystem, Conversion, CoordinateSystem)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a derived coordinate reference system from a conversion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#createDiagonal(int,int)">createDiagonal(int, int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a matrix of size <code>numRow</code> × <code>numCol</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#createDimensionSelect(int,int%5B%5D)">createDimensionSelect(int, int[])</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a matrix for a transform that keep only a subset of source coordinate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#createElementDescriptor(int%5B%5D)">createElementDescriptor(int[])</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Creates a new parameter descriptor for a matrix or tensor element at the given indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createEllipsoid(java.lang.String)">createEllipsoid(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a geometric figure that can be used to describe the approximate shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createEllipsoid(java.lang.String)">createEllipsoid(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a geometric figure that can be used to describe the approximate shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createEllipsoid(java.lang.String)">createEllipsoid(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a geometric figure that can be used to describe the approximate shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createEllipsoid(java.lang.String)">createEllipsoid(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates a geometric figure that can be used to describe the approximate shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#createEllipsoid(java.util.Map,double,double,javax.measure.Unit)">createEllipsoid(Map&lt;String, ?&gt;, double, double, Unit&lt;Length&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Creates a new ellipsoid using the specified properties and axis length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createEllipsoid(java.util.Map,double,double,javax.measure.Unit)">createEllipsoid(Map&lt;String, ?&gt;, double, double, Unit&lt;Length&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates an ellipsoid from semi-axis length values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createEllipsoidalCS(java.lang.String)">createEllipsoidalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 2- or 3-dimensional coordinate system for geodetic latitude and longitude, sometime with ellipsoidal height.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createEllipsoidalCS(java.lang.String)">createEllipsoidalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 2- or 3-dimensional coordinate system for geodetic latitude and longitude,
 sometime with ellipsoidal height.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createEllipsoidalCS(java.lang.String)">createEllipsoidalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 2- or 3-dimensional coordinate system for geodetic latitude and longitude, sometime with ellipsoidal height.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createEllipsoidalCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createEllipsoidalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates an ellipsoidal coordinate system without ellipsoidal height.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createEllipsoidalCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createEllipsoidalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates an ellipsoidal coordinate system with ellipsoidal height.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createEngineeringCRS(java.lang.String)">createEngineeringCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 1-, 2- or 3-dimensional contextually local coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createEngineeringCRS(java.lang.String)">createEngineeringCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 1-, 2- or 3-dimensional contextually local coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createEngineeringCRS(java.lang.String)">createEngineeringCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 1-, 2- or 3-dimensional contextually local coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createEngineeringCRS(java.util.Map,org.opengis.referencing.datum.EngineeringDatum,org.opengis.referencing.cs.CoordinateSystem)">createEngineeringCRS(Map&lt;String, ?&gt;, EngineeringDatum, CoordinateSystem)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a engineering coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createEngineeringDatum(java.lang.String)">createEngineeringDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a datum defining the origin of an engineering coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createEngineeringDatum(java.lang.String)">createEngineeringDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the origin of an engineering coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createEngineeringDatum(java.lang.String)">createEngineeringDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the origin of an engineering coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createEngineeringDatum(java.util.Map)">createEngineeringDatum(Map&lt;String, ?&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates an engineering datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createEnumerated(java.lang.Class,T%5B%5D,T)">createEnumerated(Class&lt;T&gt;, T[], T)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor for a parameter restricted to a set of valid values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createExtent(java.lang.String)">createExtent(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns information about spatial, vertical, and temporal extent (usually a domain of validity) from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createExtent(java.lang.String)">createExtent(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates information about spatial, vertical, and temporal extent (usually a domain of validity) from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createExtent(java.lang.String)">createExtent(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates information about spatial, vertical, and temporal extent (usually a domain of validity) from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createExtent(java.lang.String)">createExtent(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates information about spatial, vertical, and temporal extent (usually a domain of validity) from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#createFlattenedSphere(java.util.Map,double,double,javax.measure.Unit)">createFlattenedSphere(Map&lt;String, ?&gt;, double, double, Unit&lt;Length&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Creates a new ellipsoid using the specified properties, axis length and inverse flattening value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createFlattenedSphere(java.util.Map,double,double,javax.measure.Unit)">createFlattenedSphere(Map&lt;String, ?&gt;, double, double, Unit&lt;Length&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates an ellipsoid from a major semi-axis length and inverse flattening.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#createForDecimal(float%5B%5D)">createForDecimal(float[])</a></span> - Static method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Wraps the given <code>float[]</code> array in a vector that preserve the string representations in base 10.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#createFormat(java.lang.Class)">createFormat(Class&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Creates a new format to use for parsing and formatting values of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#createFormat(java.lang.Class)">createFormat(Class&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Creates a new format to use for parsing and formatting values of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/LocationFormat.html#createFormat(java.lang.Class)">createFormat(Class&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/LocationFormat.html" title="class in org.apache.sis.referencing.gazetteer">LocationFormat</a></dt>
<dd>
<div class="block">Creates the format to use for formatting a latitude, longitude or projected coordinate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#createFormat(java.lang.Class)">createFormat(Class&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Creates a new format to use for parsing and formatting values of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createFromCoordinateReferenceSystemCodes(java.lang.String,java.lang.String)">createFromCoordinateReferenceSystemCodes(String, String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns operations from source and target coordinate reference system codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createFromCoordinateReferenceSystemCodes(java.lang.String,java.lang.String)">createFromCoordinateReferenceSystemCodes(String, String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates operations from source and target coordinate reference system codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createFromCoordinateReferenceSystemCodes(java.lang.String,java.lang.String)">createFromCoordinateReferenceSystemCodes(String, String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates operations from source and target coordinate reference system codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createFromCoordinateReferenceSystemCodes(java.lang.String,java.lang.String)">createFromCoordinateReferenceSystemCodes(String, String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates operations from source and target coordinate reference system codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Parser.html#createFromWKT(java.lang.String)">createFromWKT(String)</a></span> - Method in interface <a href="org/apache/sis/io/wkt/Parser.html" title="interface in org.apache.sis.io.wkt">Parser</a></dt>
<dd>
<div class="block">Creates the object from a string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createFromWKT(java.lang.String)">createFromWKT(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a Coordinate Reference System object from a <cite>Well Known Text</cite> (WKT).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createFromWKT(java.lang.String)">createFromWKT(String)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Creates a math transform object from a
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html"><cite>Well
 Known Text</cite> (WKT)</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createFromXML(java.lang.String)">createFromXML(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a coordinate reference system object from a XML string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createFromXML(java.lang.String)">createFromXML(String)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#createGenericName(java.lang.CharSequence,java.lang.String,java.lang.CharSequence...)">createGenericName(CharSequence, String, CharSequence...)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Creates a local or scoped name from an array of parsed names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#createGenericName(org.opengis.util.NameSpace,java.lang.CharSequence...)">createGenericName(NameSpace, CharSequence...)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Creates a local or scoped name from an array of parsed names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createGeocentricCRS(java.lang.String)">createGeocentricCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 3-dimensional coordinate reference system with the origin at the approximate centre of mass of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createGeocentricCRS(java.lang.String)">createGeocentricCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 3-dimensional coordinate reference system with the origin at the approximate centre of mass of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createGeocentricCRS(java.lang.String)">createGeocentricCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 3-dimensional coordinate reference system with the origin at the approximate centre of mass of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createGeocentricCRS(java.util.Map,org.opengis.referencing.datum.GeodeticDatum,org.opengis.referencing.cs.CartesianCS)">createGeocentricCRS(Map&lt;String, ?&gt;, GeodeticDatum, CartesianCS)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a geocentric coordinate reference system from a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/CartesianCS.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink">Cartesian coordinate system</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createGeocentricCRS(java.util.Map,org.opengis.referencing.datum.GeodeticDatum,org.opengis.referencing.cs.SphericalCS)">createGeocentricCRS(Map&lt;String, ?&gt;, GeodeticDatum, SphericalCS)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a geocentric coordinate reference system from a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/SphericalCS.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink">spherical coordinate system</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#createGeodesicCircle2D(double)">createGeodesicCircle2D(double)</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Creates an approximation of the curve at a constant geodesic distance around the start point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#createGeodesicPath2D(double)">createGeodesicPath2D(double)</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Creates an approximation of the geodesic track from start point to end point as a Java2D object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#createGeodeticConversion(org.opengis.referencing.operation.MathTransformFactory,double,double,javax.measure.Unit,boolean,org.apache.sis.referencing.operation.transform.EllipsoidToCentricTransform.TargetType)">createGeodeticConversion(MathTransformFactory, double, double, Unit&lt;Length&gt;, boolean, EllipsoidToCentricTransform.TargetType)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Creates a transform from geographic to geocentric coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#createGeodeticConversion(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.datum.Ellipsoid,boolean)">createGeodeticConversion(MathTransformFactory, Ellipsoid, boolean)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Creates a transform from geographic to Cartesian geocentric coordinates (convenience method).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createGeodeticDatum(java.lang.String)">createGeodeticDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a datum defining the location and orientation of an ellipsoid that approximates the shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createGeodeticDatum(java.lang.String)">createGeodeticDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the location and orientation of an ellipsoid that approximates the shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createGeodeticDatum(java.lang.String)">createGeodeticDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the location and orientation of an ellipsoid that approximates the shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createGeodeticDatum(java.util.Map,org.opengis.referencing.datum.Ellipsoid,org.opengis.referencing.datum.PrimeMeridian)">createGeodeticDatum(Map&lt;String, ?&gt;, Ellipsoid, PrimeMeridian)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates geodetic datum from ellipsoid and (optionally) Bursa-Wolf parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#createGeodeticTransformation(org.opengis.referencing.operation.MathTransformFactory,org.apache.sis.referencing.datum.DatumShiftGrid)">createGeodeticTransformation(MathTransformFactory, DatumShiftGrid&lt;T, T&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Creates a transformation between two geodetic CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html#createGeodeticTransformation(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.datum.Ellipsoid,boolean,org.opengis.referencing.datum.Ellipsoid,boolean,double,double,double,boolean)">createGeodeticTransformation(MathTransformFactory, Ellipsoid, boolean, Ellipsoid, boolean, double, double, double, boolean)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">MolodenskyTransform</a></dt>
<dd>
<div class="block">Creates a transformation between two from geographic CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html#createGeodeticTransformation(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.datum.Ellipsoid,boolean,org.opengis.referencing.datum.Ellipsoid,boolean,org.apache.sis.referencing.datum.DatumShiftGrid)">createGeodeticTransformation(MathTransformFactory, Ellipsoid, boolean, Ellipsoid, boolean, DatumShiftGrid&lt;Angle, Length&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedGeocentricTransform</a></dt>
<dd>
<div class="block">Creates a transformation between two geographic CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html#createGeodeticTransformation(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.datum.Ellipsoid,boolean,org.opengis.referencing.datum.Ellipsoid,boolean,org.apache.sis.referencing.datum.DatumShiftGrid)">createGeodeticTransformation(MathTransformFactory, Ellipsoid, boolean, Ellipsoid, boolean, DatumShiftGrid&lt;Angle, Length&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedMolodenskyTransform</a></dt>
<dd>
<div class="block">Creates a transformation between two geographic CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createGeographicCRS(java.lang.String)">createGeographicCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 2- or 3-dimensional coordinate reference system based on an ellipsoidal approximation of the geoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createGeographicCRS(java.lang.String)">createGeographicCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 2- or 3-dimensional coordinate reference system based on an ellipsoidal approximation of the geoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createGeographicCRS(java.lang.String)">createGeographicCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 2- or 3-dimensional coordinate reference system based on an ellipsoidal approximation of the geoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createGeographicCRS(java.util.Map,org.opengis.referencing.datum.GeodeticDatum,org.opengis.referencing.cs.EllipsoidalCS)">createGeographicCRS(Map&lt;String, ?&gt;, GeodeticDatum, EllipsoidalCS)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a geographic coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#createGreaterThan(double,javax.measure.Unit)">createGreaterThan(double, Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>double</code> values greater than the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createGroup(int,int,org.opengis.parameter.GeneralParameterDescriptor...)">createGroup(int, int, GeneralParameterDescriptor...)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor group for the given multiplicity and parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createGroup(org.opengis.parameter.GeneralParameterDescriptor...)">createGroup(GeneralParameterDescriptor...)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor group for the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createGroupForMapProjection(org.opengis.parameter.ParameterDescriptor...)">createGroupForMapProjection(ParameterDescriptor&lt;?&gt;...)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor group for a map projection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createGroupWithSameParameters(org.opengis.parameter.ParameterDescriptorGroup)">createGroupWithSameParameters(ParameterDescriptorGroup)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor group with the same parameters than another group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#createIdentity(int)">createIdentity(int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a square identity matrix of size <code>size</code> × <code>size</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createImageCRS(java.lang.String)">createImageCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 2-dimensional engineering coordinate reference system applied to locations in images.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createImageCRS(java.lang.String)">createImageCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 2-dimensional engineering coordinate reference system applied to locations in images.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createImageCRS(java.lang.String)">createImageCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 2-dimensional engineering coordinate reference system applied to locations in images.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createImageCRS(java.util.Map,org.opengis.referencing.datum.ImageDatum,org.opengis.referencing.cs.AffineCS)">createImageCRS(Map&lt;String, ?&gt;, ImageDatum, AffineCS)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates an image coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createImageDatum(java.lang.String)">createImageDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a datum defining the origin of an image coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createImageDatum(java.lang.String)">createImageDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the origin of an image coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createImageDatum(java.lang.String)">createImageDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the origin of an image coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createImageDatum(java.util.Map,org.opengis.referencing.datum.PixelInCell)">createImageDatum(Map&lt;String, ?&gt;, PixelInCell)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates an image datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#createInternationalString(java.util.Map)">createInternationalString(Map&lt;Locale, String&gt;)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Creates an international string from a set of strings in different locales.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#createIntersection(java.awt.geom.Rectangle2D)">createIntersection(Rectangle2D)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the intersection of this envelope with the specified rectangle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#createLeftBounded(int,boolean)">createLeftBounded(int, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of <code>int</code> values without upper bound.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createLinearCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis)">createLinearCS(Map&lt;String, ?&gt;, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a linear coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#createLocalName(java.lang.CharSequence,java.lang.String,java.lang.CharSequence)">createLocalName(CharSequence, String, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Creates a name which is local in the given namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#createLocalName(org.opengis.util.NameSpace,java.lang.CharSequence)">createLocalName(NameSpace, CharSequence)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Creates a local name from the given character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">AlbersEqualArea</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">CylindricalEqualArea</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html" title="class in org.apache.sis.referencing.operation.projection">LambertConicConformal</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Mercator.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Mercator.html" title="class in org.apache.sis.referencing.operation.projection">Mercator</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html" title="class in org.apache.sis.referencing.operation.projection">ObliqueStereographic</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html" title="class in org.apache.sis.referencing.operation.projection">PolarStereographic</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Polyconic.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Polyconic.html" title="class in org.apache.sis.referencing.operation.projection">Polyconic</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html" title="class in org.apache.sis.referencing.operation.projection">Sinusoidal</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">createMapProjection(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html" title="class in org.apache.sis.referencing.operation.projection">TransverseMercator</a></dt>
<dd>
<div class="block">Returns the sequence of <cite>normalization</cite> → <code>this</code> → <cite>denormalization</cite> transforms
 as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#createMarshaller()">createMarshaller()</a></span> - Method in class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">Creates an configures a new JAXB marshaller.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransformProvider.html#createMathTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.parameter.ParameterValueGroup)">createMathTransform(MathTransformFactory, ParameterValueGroup)</a></span> - Method in interface <a href="org/apache/sis/referencing/operation/transform/MathTransformProvider.html" title="interface in org.apache.sis.referencing.operation.transform">MathTransformProvider</a></dt>
<dd>
<div class="block">Creates a math transform from the specified group of parameter values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#createMemberName(java.lang.CharSequence,java.lang.String,int)">createMemberName(CharSequence, String, int)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Creates a member name for the given sequence number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#createMemberName(java.lang.CharSequence,java.lang.String,java.lang.CharSequence,java.lang.Class)">createMemberName(CharSequence, String, CharSequence, Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Creates a member name for values of the given class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#createMemberName(org.opengis.util.NameSpace,java.lang.CharSequence,org.opengis.util.TypeName)">createMemberName(NameSpace, CharSequence, TypeName)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Creates a member name from the given character sequence and attribute type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#createNameSpace(org.opengis.util.GenericName,java.util.Map)">createNameSpace(GenericName, Map&lt;String, ?&gt;)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Returns a namespace having the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#createNilObject(java.lang.Class)">createNilObject(Class&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">Returns an object of the given type which is nil for the reason represented by this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html#createObject(java.lang.String)">createObject(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">CommonAuthorityFactory</a></dt>
<dd>
<div class="block">Creates an object from the specified code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createObject(java.lang.String)">createObject(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns an arbitrary object from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createObject(java.lang.String)">createObject(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Returns an arbitrary object from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#createObject(java.lang.String)">createObject(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Creates an object for the specified authority code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createObject(java.lang.String)">createObject(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates an arbitrary object from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createObject(java.lang.String)">createObject(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Returns an arbitrary object from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperation(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem)">createOperation(CoordinateReferenceSystem, CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Infers an operation for conversion or transformation between two coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createOperation(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem)">createOperation(CoordinateReferenceSystem, CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Finds or creates an operation for conversion or transformation between two coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createOperation(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.apache.sis.referencing.operation.CoordinateOperationContext)">createOperation(CoordinateReferenceSystem, CoordinateReferenceSystem, CoordinateOperationContext)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Finds or creates an operation for conversion or transformation between two coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createOperation(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.OperationMethod)">createOperation(CoordinateReferenceSystem, CoordinateReferenceSystem, OperationMethod)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createOperation(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.apache.sis.referencing.operation.CoordinateOperationContext)"><code>DefaultCoordinateOperationFactory.createOperation(CoordinateReferenceSystem, CoordinateReferenceSystem, CoordinateOperationContext)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createOperationFinder(org.opengis.referencing.operation.CoordinateOperationAuthorityFactory,org.apache.sis.referencing.operation.CoordinateOperationContext)">createOperationFinder(CoordinateOperationAuthorityFactory, CoordinateOperationContext)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Creates the object which will perform the actual task of finding a coordinate operation path between two CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createOperationMethod(java.lang.String)">createOperationMethod(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a description of the algorithm and parameters used to perform a coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createOperationMethod(java.lang.String)">createOperationMethod(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a description of the algorithm and parameters used to perform a coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createOperationMethod(java.lang.String)">createOperationMethod(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a description of the algorithm and parameters used to perform a coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createOperationMethod(java.lang.String)">createOperationMethod(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates description of the algorithm and parameters used to perform a coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createOperationMethod(java.util.Map,java.lang.Integer,java.lang.Integer,org.opengis.parameter.ParameterDescriptorGroup)">createOperationMethod(Map&lt;String, ?&gt;, Integer, Integer, ParameterDescriptorGroup)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Creates an operation method from a set of properties and a descriptor group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperations(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem)">createOperations(CoordinateReferenceSystem, CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Infers operations for conversions or transformations between two coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createOperations(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.apache.sis.referencing.operation.CoordinateOperationContext)">createOperations(CoordinateReferenceSystem, CoordinateReferenceSystem, CoordinateOperationContext)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Finds or creates operations for conversions or transformations between two coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperationStep(org.opengis.referencing.crs.CoordinateReferenceSystem,java.util.List,org.opengis.referencing.crs.CoordinateReferenceSystem,java.util.List)">createOperationStep(CoordinateReferenceSystem, List&lt;? extends SingleCRS&gt;, CoordinateReferenceSystem, List&lt;? extends SingleCRS&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates an operation between at least one <code>CompoundCRS</code> (usually the source) and an arbitrary CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperationStep(org.opengis.referencing.crs.GeneralDerivedCRS,org.opengis.referencing.crs.GeneralDerivedCRS)">createOperationStep(GeneralDerivedCRS, GeneralDerivedCRS)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates an operation between two derived coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperationStep(org.opengis.referencing.crs.GeneralDerivedCRS,org.opengis.referencing.crs.SingleCRS)">createOperationStep(GeneralDerivedCRS, SingleCRS)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates an operation from a derived CRS to an arbitrary single coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperationStep(org.opengis.referencing.crs.GeodeticCRS,org.opengis.referencing.crs.GeodeticCRS)">createOperationStep(GeodeticCRS, GeodeticCRS)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates an operation between two geodetic (geographic or geocentric) coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperationStep(org.opengis.referencing.crs.GeodeticCRS,org.opengis.referencing.crs.VerticalCRS)">createOperationStep(GeodeticCRS, VerticalCRS)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates an operation between a geodetic and a vertical coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperationStep(org.opengis.referencing.crs.SingleCRS,org.opengis.referencing.crs.GeneralDerivedCRS)">createOperationStep(SingleCRS, GeneralDerivedCRS)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates operations from an arbitrary single CRS to a derived coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperationStep(org.opengis.referencing.crs.TemporalCRS,org.opengis.referencing.crs.TemporalCRS)">createOperationStep(TemporalCRS, TemporalCRS)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates an operation between two temporal coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html#createOperationStep(org.opengis.referencing.crs.VerticalCRS,org.opengis.referencing.crs.VerticalCRS)">createOperationStep(VerticalCRS, VerticalCRS)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationFinder.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationFinder</a></dt>
<dd>
<div class="block">Creates an operation between two vertical coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createParameterDescriptor(java.lang.String)">createParameterDescriptor(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a definition of a single parameter used by an operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createParameterDescriptor(java.lang.String)">createParameterDescriptor(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a definition of a single parameter used by an operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createParameterDescriptor(java.lang.String)">createParameterDescriptor(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a definition of a single parameter used by an operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createParameterDescriptor(java.lang.String)">createParameterDescriptor(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates a definition of a single parameter used by an operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createParameterizedTransform(org.opengis.parameter.ParameterValueGroup)">createParameterizedTransform(ParameterValueGroup)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createParameterizedTransform(org.opengis.parameter.ParameterValueGroup,org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory.Context)"><code>DefaultMathTransformFactory.createParameterizedTransform(ParameterValueGroup, Context)</code></a>
             where the <code>Context</code> argument can be null.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createParameterizedTransform(org.opengis.parameter.ParameterValueGroup,org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory.Context)">createParameterizedTransform(ParameterValueGroup, DefaultMathTransformFactory.Context)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Creates a transform from a group of parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createParametricCRS(java.lang.String)">createParametricCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional parametric coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createParametricCRS(java.util.Map,org.apache.sis.referencing.datum.DefaultParametricDatum,org.apache.sis.referencing.cs.DefaultParametricCS)">createParametricCRS(Map&lt;String, ?&gt;, DefaultParametricDatum, DefaultParametricCS)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a parametric coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createParametricCS(java.lang.String)">createParametricCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional parametric coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createParametricCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis)">createParametricCS(Map&lt;String, ?&gt;, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a parametric coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createParametricDatum(java.lang.String)">createParametricDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the origin of a parametric coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createParametricDatum(java.util.Map)">createParametricDatum(Map&lt;String, ?&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a parametric datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#createPassThrough(int,org.opengis.referencing.operation.Matrix,int)">createPassThrough(int, Matrix, int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a matrix which converts a subset of coordinates using the transform given by another matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#createPassThroughTransform(int,org.opengis.referencing.operation.MathTransform,int)">createPassThroughTransform(int, MathTransform, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Creates a transform which passes through a subset of coordinates to another transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createPolarCS(java.lang.String)">createPolarCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 2-dimensional coordinate system for coordinates represented by a distance from the origin
 and an angle from a fixed direction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createPolarCS(java.lang.String)">createPolarCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 2-dimensional coordinate system for coordinates represented by a distance from the origin
 and an angle from a fixed direction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createPolarCS(java.lang.String)">createPolarCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 2-dimensional coordinate system for coordinates represented by a distance from the origin
 and an angle from a fixed direction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createPolarCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createPolarCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a polar coordinate system from the given pair of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createPrimeMeridian(java.lang.String)">createPrimeMeridian(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a prime meridian defining the origin from which longitude values are determined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createPrimeMeridian(java.lang.String)">createPrimeMeridian(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a prime meridian defining the origin from which longitude values are determined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createPrimeMeridian(java.lang.String)">createPrimeMeridian(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a prime meridian defining the origin from which longitude values are determined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createPrimeMeridian(java.lang.String)">createPrimeMeridian(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates a prime meridian defining the origin from which longitude values are determined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createPrimeMeridian(java.util.Map,double,javax.measure.Unit)">createPrimeMeridian(Map&lt;String, ?&gt;, double, Unit&lt;Angle&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a prime meridian, relative to Greenwich.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createProjectedCRS(java.lang.String)">createProjectedCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 2-dimensional coordinate reference system used to approximate the shape of the earth on a planar surface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createProjectedCRS(java.lang.String)">createProjectedCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 2-dimensional coordinate reference system used to approximate the shape of the earth on a planar surface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createProjectedCRS(java.lang.String)">createProjectedCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 2-dimensional coordinate reference system used to approximate the shape of the earth on a planar surface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createProjectedCRS(java.util.Map,org.opengis.referencing.crs.GeographicCRS,org.opengis.referencing.operation.Conversion,org.opengis.referencing.cs.CartesianCS)">createProjectedCRS(Map&lt;String, ?&gt;, GeographicCRS, Conversion, CartesianCS)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a projected coordinate reference system from a conversion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordSchema.html#createRecordType(java.lang.CharSequence,java.util.Map)">createRecordType(CharSequence, Map&lt;CharSequence, Class&lt;?&gt;&gt;)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordSchema.html" title="class in org.apache.sis.util.iso">DefaultRecordSchema</a></dt>
<dd>
<div class="block">Creates a new record type of the given name, which will contain the given members.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#createScopedName(org.opengis.util.GenericName,java.lang.String,java.lang.CharSequence)">createScopedName(GenericName, String, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Creates a scoped name as the concatenation of the given generic name with a single character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#createSequence(java.lang.Number,java.lang.Number,int)">createSequence(Number, Number, int)</a></span> - Static method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Creates a sequence of numbers in a given range of values using the given increment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#createSingleOperation(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.OperationMethod,org.opengis.referencing.operation.MathTransform)">createSingleOperation(Map&lt;String, ?&gt;, CoordinateReferenceSystem, CoordinateReferenceSystem, CoordinateReferenceSystem, OperationMethod, MathTransform)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Creates a transformation or conversion from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createSphericalCS(java.lang.String)">createSphericalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 3-dimensional coordinate system with one distance measured from the origin and two angular coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createSphericalCS(java.lang.String)">createSphericalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 3-dimensional coordinate system with one distance measured from the origin and two angular coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createSphericalCS(java.lang.String)">createSphericalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 3-dimensional coordinate system with one distance measured from the origin and two angular coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createSphericalCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createSphericalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a spherical coordinate system from the given set of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#createStrictlyPositive(double,javax.measure.Unit)">createStrictlyPositive(double, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a descriptor for floating point values greater than zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStoreProvider.html#createTableName(java.lang.String,java.lang.String,java.lang.String)">createTableName(String, String, String)</a></span> - Static method in class <a href="org/apache/sis/storage/sql/SQLStoreProvider.html" title="class in org.apache.sis.storage.sql">SQLStoreProvider</a></dt>
<dd>
<div class="block">Create a qualified table name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createTemporalCRS(java.lang.String)">createTemporalCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 1-dimensional coordinate reference system used for the recording of time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createTemporalCRS(java.lang.String)">createTemporalCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional coordinate reference system used for the recording of time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createTemporalCRS(java.lang.String)">createTemporalCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional coordinate reference system used for the recording of time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createTemporalCRS(java.util.Map,org.opengis.referencing.datum.TemporalDatum,org.opengis.referencing.cs.TimeCS)">createTemporalCRS(Map&lt;String, ?&gt;, TemporalDatum, TimeCS)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a temporal coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createTemporalDatum(java.lang.String)">createTemporalDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a datum defining the origin of a temporal coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createTemporalDatum(java.lang.String)">createTemporalDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the origin of a temporal coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createTemporalDatum(java.lang.String)">createTemporalDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a datum defining the origin of a temporal coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createTemporalDatum(java.util.Map,java.util.Date)">createTemporalDatum(Map&lt;String, ?&gt;, Date)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a temporal datum from an enumerated type value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createTimeCS(java.lang.String)">createTimeCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 1-dimensional coordinate system for heights or depths of points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createTimeCS(java.lang.String)">createTimeCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional coordinate system for time elapsed in the specified time units
 from a specified time origin.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createTimeCS(java.lang.String)">createTimeCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional coordinate system for heights or depths of points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createTimeCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis)">createTimeCS(Map&lt;String, ?&gt;, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a temporal coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#createTransform(org.opengis.geometry.Envelope,org.opengis.geometry.Envelope)">createTransform(Envelope, Envelope)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a transform matrix mapping the given source envelope to the given destination envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#createTransform(org.opengis.geometry.Envelope,org.opengis.referencing.cs.AxisDirection%5B%5D,org.opengis.geometry.Envelope,org.opengis.referencing.cs.AxisDirection%5B%5D)">createTransform(Envelope, AxisDirection[], Envelope, AxisDirection[])</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a transform matrix mapping the given source envelope to the given destination envelope,
 combined with changes in axis order and/or direction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#createTransform(org.opengis.referencing.cs.AxisDirection%5B%5D,org.opengis.referencing.cs.AxisDirection%5B%5D)">createTransform(AxisDirection[], AxisDirection[])</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a transform matrix changing axis order and/or direction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#createTransform(org.opengis.referencing.operation.MathTransformFactory)">createTransform(MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Creates a transform from sample values to geophysics values using the given factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html#createTransformedShape(java.awt.Shape)">createTransformedShape(Shape)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></dt>
<dd>
<div class="block">Transforms the specified shape.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html#createTransformedShape(java.awt.Shape)">createTransformedShape(Shape)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D.Inverse</a></dt>
<dd>
<div class="block">Transforms the specified shape.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#createTypeName(java.lang.CharSequence,java.lang.String,java.lang.CharSequence)">createTypeName(CharSequence, String, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Creates a type name which is local in the given namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#createTypeName(org.opengis.util.NameSpace,java.lang.CharSequence)">createTypeName(NameSpace, CharSequence)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Creates a type name from the given character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#createUnion(java.awt.geom.Rectangle2D)">createUnion(Rectangle2D)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the union of this envelope with the specified rectangle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createUnit(java.lang.String)">createUnit(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns an unit of measurement from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createUnit(java.lang.String)">createUnit(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates an unit of measurement from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createUnit(java.lang.String)">createUnit(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates an unit of measurement from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#createUnit(java.lang.String)">createUnit(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates an unit of measurement from a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#createUnmarshaller()">createUnmarshaller()</a></span> - Method in class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">Creates an configures a new JAXB unmarshaller.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createUserDefinedCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createUserDefinedCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a two-dimensional user defined coordinate system from the given pair of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createUserDefinedCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">createUserDefinedCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a three-dimensional user defined coordinate system from the given set of axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#createValue()">createValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Creates a new parameter value instance initialized with the <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getDefaultValue()">default value</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#createValue()">createValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Creates a new instance of <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">parameter value group</a>
 initialized with the <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getDefaultValue()">default values</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#createValueGroup(java.util.Map)">createValueGroup(Map&lt;String, ?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Creates a new instance of parameter group with default values of 1 on the diagonal, and 0 everywhere else.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#createValueGroup(java.util.Map,org.opengis.referencing.operation.Matrix)">createValueGroup(Map&lt;String, ?&gt;, Matrix)</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Creates a new instance of parameter group initialized to the given matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createVerticalCRS(java.lang.String)">createVerticalCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 1-dimensional coordinate reference system used for recording heights or depths.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createVerticalCRS(java.lang.String)">createVerticalCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional coordinate reference system used for recording heights or depths.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createVerticalCRS(java.lang.String)">createVerticalCRS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional coordinate reference system used for recording heights or depths.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createVerticalCRS(java.util.Map,org.opengis.referencing.datum.VerticalDatum,org.opengis.referencing.cs.VerticalCS)">createVerticalCRS(Map&lt;String, ?&gt;, VerticalDatum, VerticalCS)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a vertical coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createVerticalCS(java.lang.String)">createVerticalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a 1-dimensional coordinate system for heights or depths of points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createVerticalCS(java.lang.String)">createVerticalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional coordinate system for heights or depths of points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createVerticalCS(java.lang.String)">createVerticalCS(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a 1-dimensional coordinate system for heights or depths of points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createVerticalCS(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis)">createVerticalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a vertical coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#createVerticalDatum(java.lang.String)">createVerticalDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a datum identifying a particular reference level surface used as a zero-height surface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#createVerticalDatum(java.lang.String)">createVerticalDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a datum identifying a particular reference level surface used as a zero-height surface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#createVerticalDatum(java.lang.String)">createVerticalDatum(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a datum identifying a particular reference level surface used as a zero-height surface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#createVerticalDatum(java.util.Map,org.opengis.referencing.datum.VerticalDatumType)">createVerticalDatum(Map&lt;String, ?&gt;, VerticalDatumType)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Creates a vertical datum from an enumerated type value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#createWindow(org.apache.sis.image.TransferType)">createWindow(TransferType&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns a moving window over the sample values in a rectangular region starting at iterator position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#createWritable(java.awt.image.Raster,java.awt.image.WritableRaster)">createWritable(Raster, WritableRaster)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Creates an iterator which will read and write in two different rasters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#createWritable(java.awt.image.RenderedImage,java.awt.image.WritableRenderedImage)">createWritable(RenderedImage, WritableRenderedImage)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Creates an iterator which will read and write in two different images.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#createWritable(java.awt.image.WritableRaster)">createWritable(WritableRaster)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Creates a read/write iterator for the given raster.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#createWritable(java.awt.image.WritableRenderedImage)">createWritable(WritableRenderedImage)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Creates a read/write iterator for the given image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#createZero(int,int)">createZero(int, int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Creates a matrix of size <code>numRow</code> × <code>numCol</code> filled with zero values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#CREATOR">CREATOR</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the creator (<em>Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#crs()">crs()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Returns the coordinate reference system associated to this temporal object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#crs()">crs()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Returns the coordinate reference system associated to this vertical object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">CRS</span></a> - Class in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Static methods working on <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/CoordinateReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink">Coordinate Reference Systems</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#CRS">CRS</a></span> - Static variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">A bitmask to specify the validity of the Coordinate Reference System property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#crsFactory">crsFactory</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">The factory to use for creating <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/CoordinateReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink"><code>CoordinateReferenceSystem</code></a> instances
 from the properties read in the database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#csFactory">csFactory</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">The factory to use for creating <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/CoordinateSystem.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink"><code>CoordinateSystem</code></a> instances
 from the properties read in the database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#CSW">CSW</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://www.opengis.net/cat/csw/3.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#CUBIC_METRE">CUBIC_METRE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for volume (m³).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#CURLY_BRACKETS">CURLY_BRACKETS</a></span> - Static variable in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">A set of symbols with values between parentheses, like <code>DATUM("WGS84")</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/Configuration.html#current()">current()</a></span> - Static method in class <a href="org/apache/sis/setup/Configuration.html" title="class in org.apache.sis.setup">Configuration</a></dt>
<dd>
<div class="block">Returns the current configuration.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">CylindricalEqualArea</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Cylindrical Equal Area</cite> projection (EPSG codes 9834, 9835).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">CylindricalEqualArea(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">CylindricalEqualArea</a></dt>
<dd>
<div class="block">Creates a Cylindrical Equal Area projection from the given parameters.</div>
</dd>
</dl>
<a id="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#DATA_TYPE">DATA_TYPE</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "cdm_data_type" attribute name for the THREDDS data type appropriate for this dataset
 (<em>Recommended</em>).</div>
</dd>
<dt><a href="org/apache/sis/storage/DataOptionKey.html" title="class in org.apache.sis.storage"><span class="typeNameLink">DataOptionKey</span></a>&lt;<a href="org/apache/sis/storage/DataOptionKey.html" title="type parameter in DataOptionKey">T</a>&gt; - Class in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Keys in a map of options for configuring the way data are read or written to a storage.</div>
</dd>
<dt><a href="org/apache/sis/storage/DataSet.html" title="interface in org.apache.sis.storage"><span class="typeNameLink">DataSet</span></a> - Interface in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Collection of features that share a common set of attributes or properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#dataSource">dataSource</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">The factory to use for creating <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql" class="externalLink"><code>Connection</code></a>s to the EPSG database.</div>
</dd>
<dt><a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><span class="typeNameLink">DataStore</span></a> - Class in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Manages a series of features, coverages or sensor data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#%3Cinit%3E()">DataStore()</a></span> - Constructor for class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Creates a new instance with no provider and initially no listener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#%3Cinit%3E(org.apache.sis.storage.DataStoreProvider,org.apache.sis.storage.StorageConnector)">DataStore(DataStoreProvider, StorageConnector)</a></span> - Constructor for class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Creates a new instance for the given storage (typically file or database).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#%3Cinit%3E(org.apache.sis.storage.DataStore,org.apache.sis.storage.StorageConnector)">DataStore(DataStore, StorageConnector)</a></span> - Constructor for class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Creates a new instance as a child of another data store instance.</div>
</dd>
<dt><a href="org/apache/sis/storage/DataStoreClosedException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">DataStoreClosedException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when a data store is closed and can no more return data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreClosedException.html#%3Cinit%3E(java.lang.String)">DataStoreClosedException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreClosedException.html" title="class in org.apache.sis.storage">DataStoreClosedException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreClosedException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">DataStoreClosedException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreClosedException.html" title="class in org.apache.sis.storage">DataStoreClosedException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreClosedException.html#%3Cinit%3E(java.util.Locale,java.lang.String,java.nio.file.OpenOption...)">DataStoreClosedException(Locale, String, OpenOption...)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreClosedException.html" title="class in org.apache.sis.storage">DataStoreClosedException</a></dt>
<dd>
<div class="block">Creates a localized exception for a reader or writer which has been closed.</div>
</dd>
<dt><a href="org/apache/sis/storage/DataStoreContentException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">DataStoreContentException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when a store can not be read because the stream contains invalid data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreContentException.html#%3Cinit%3E(java.lang.String)">DataStoreContentException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreContentException.html" title="class in org.apache.sis.storage">DataStoreContentException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreContentException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">DataStoreContentException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreContentException.html" title="class in org.apache.sis.storage">DataStoreContentException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreContentException.html#%3Cinit%3E(java.lang.Throwable)">DataStoreContentException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreContentException.html" title="class in org.apache.sis.storage">DataStoreContentException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreContentException.html#%3Cinit%3E(java.util.Locale,java.lang.String,java.lang.String,java.lang.Object)">DataStoreContentException(Locale, String, String, Object)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreContentException.html" title="class in org.apache.sis.storage">DataStoreContentException</a></dt>
<dd>
<div class="block">Creates a localized exception with a message saying that the given store can not be read.</div>
</dd>
<dt><a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">DataStoreException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when a <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><code>DataStore</code></a> can not complete a read or write operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#%3Cinit%3E()">DataStoreException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#%3Cinit%3E(java.lang.String)">DataStoreException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">DataStoreException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#%3Cinit%3E(java.lang.Throwable)">DataStoreException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#%3Cinit%3E(java.util.Locale,java.lang.String,java.lang.String,java.lang.Object)">DataStoreException(Locale, String, String, Object)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">Creates a localized exception with a message saying that the given store can not be processed.</div>
</dd>
<dt><a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage"><span class="typeNameLink">DataStoreProvider</span></a> - Class in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Provides information about a specific <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><code>DataStore</code></a> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#%3Cinit%3E()">DataStoreProvider()</a></span> - Constructor for class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Creates a new provider.</div>
</dd>
<dt><a href="org/apache/sis/storage/DataStoreReferencingException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">DataStoreReferencingException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when a data store failed to construct the coordinate reference system (CRS)
 or other positioning information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreReferencingException.html#%3Cinit%3E(java.lang.String)">DataStoreReferencingException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreReferencingException.html" title="class in org.apache.sis.storage">DataStoreReferencingException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreReferencingException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">DataStoreReferencingException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreReferencingException.html" title="class in org.apache.sis.storage">DataStoreReferencingException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreReferencingException.html#%3Cinit%3E(java.lang.Throwable)">DataStoreReferencingException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreReferencingException.html" title="class in org.apache.sis.storage">DataStoreReferencingException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreReferencingException.html#%3Cinit%3E(java.util.Locale,java.lang.String,java.lang.String,java.lang.Object)">DataStoreReferencingException(Locale, String, String, Object)</a></span> - Constructor for exception <a href="org/apache/sis/storage/DataStoreReferencingException.html" title="class in org.apache.sis.storage">DataStoreReferencingException</a></dt>
<dd>
<div class="block">Creates a localized exception with a message saying that the given store can not be read.</div>
</dd>
<dt><a href="org/apache/sis/storage/DataStores.html" title="class in org.apache.sis.storage"><span class="typeNameLink">DataStores</span></a> - Class in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Static convenience methods creating <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><code>DataStore</code></a> instances from a given storage object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#DATE_CREATED">DATE_CREATED</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "date_created" attribute name for the date on which the data was created
 (<em>Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#DATE_ISSUED">DATE_ISSUED</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "date_issued" attribute name for a date on which this data was formally issued
 (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#DATE_MODIFIED">DATE_MODIFIED</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "date_modified" attribute name for the date on which this data was last modified
 (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#datum()">datum()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the geodetic datum associated to this geodetic object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#datum()">datum()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Returns the datum associated to this temporal object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#datum()">datum()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Returns the datum associated to this vertical object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#DATUM">DATUM</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">Datum</a>,
 often represented by <code>DATUM[…]</code> elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#datumFactory">datumFactory</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">The factory to use for creating <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink"><code>Datum</code></a> instances
 from the properties read in the database.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DatumShiftGrid</span></a>&lt;<a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="type parameter in DatumShiftGrid">C</a> extends <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Quantity.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Quantity</a>&lt;<a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="type parameter in DatumShiftGrid">C</a>&gt;,&#8203;<a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="type parameter in DatumShiftGrid">T</a> extends <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Quantity.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Quantity</a>&lt;<a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="type parameter in DatumShiftGrid">T</a>&gt;&gt; - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Small but non-constant translations to apply on coordinates for datum shifts or other transformation process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#%3Cinit%3E(javax.measure.Unit,org.apache.sis.referencing.operation.transform.LinearTransform,int%5B%5D,boolean,javax.measure.Unit)">DatumShiftGrid(Unit&lt;C&gt;, LinearTransform, int[], boolean, Unit&lt;T&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Creates a new datum shift grid for the given size and units.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#%3Cinit%3E(org.apache.sis.referencing.datum.DatumShiftGrid)">DatumShiftGrid(DatumShiftGrid&lt;C, T&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Creates a new datum shift grid with the same grid geometry (size and units) than the given grid.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">DatumShiftTransform</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Transforms between two CRS (usually geographic) based on different datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#DAY">DAY</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 24×60×60 seconds (1 d).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#ddS">ddS</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Rate of change of the scale difference in parts per million per year (EPSG:1046).</div>
</dd>
<dt><a href="org/apache/sis/util/Debug.html" title="annotation in org.apache.sis.util"><span class="typeNameLink">Debug</span></a> - Annotation Type in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Annotates classes or methods that are provided mostly for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#DEBUG">DEBUG</a></span> - <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Same as <a href="org/apache/sis/util/ComparisonMode.html#APPROXIMATE"><code>ComparisonMode.APPROXIMATE</code></a>, except that an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AssertionError.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>AssertionError</code></a> is thrown if the two
 objects are not equal and assertions are enabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#DECIBAR">DECIBAR</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 10000 pascals (1 dbar).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#DECIBEL">DECIBEL</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Sub-division of logarithm of ratio of the measured quantity to a reference quantity (dB).</div>
</dd>
<dt><a href="org/apache/sis/math/DecimalFunctions.html" title="class in org.apache.sis.math"><span class="typeNameLink">DecimalFunctions</span></a> - Class in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">Functions working on <code>float</code> and <code>double</code> values while taking in account their representation in base 10.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html#DECLARATION">DECLARATION</a></span> - <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html" title="enum in org.apache.sis.referencing.factory">IdentifiedObjectFinder.Domain</a></dt>
<dd>
<div class="block">Fast lookup based only on embedded identifiers and names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/TypeValuePolicy.html#DECLARING_CLASS">DECLARING_CLASS</a></span> - <a href="org/apache/sis/metadata/TypeValuePolicy.html" title="enum in org.apache.sis.metadata">TypeValuePolicy</a></dt>
<dd>
<div class="block">The type of the class that declares the method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/TypeValuePolicy.html#DECLARING_INTERFACE">DECLARING_INTERFACE</a></span> - <a href="org/apache/sis/metadata/TypeValuePolicy.html" title="enum in org.apache.sis.metadata">TypeValuePolicy</a></dt>
<dd>
<div class="block">The type of the interface that declares the method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html#decode(java.lang.CharSequence)">decode(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Decodes the given geohash into a latitude and a longitude.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#decode(java.lang.CharSequence)">decode(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Decodes the given MGRS reference into a position and an envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Utilities.html#deepEquals(java.lang.Object,java.lang.Object,org.apache.sis.util.ComparisonMode)">deepEquals(Object, Object, ComparisonMode)</a></span> - Static method in class <a href="org/apache/sis/util/Utilities.html" title="class in org.apache.sis.util">Utilities</a></dt>
<dd>
<div class="block">Convenience method for testing two objects for equality using the given level of strictness.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Utilities.html#deepHashCode(java.lang.Object)">deepHashCode(Object)</a></span> - Static method in class <a href="org/apache/sis/util/Utilities.html" title="class in org.apache.sis.util">Utilities</a></dt>
<dd>
<div class="block">Returns a hash code for the specified object, which may be an array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Utilities.html#deepToString(java.lang.Object)">deepToString(Object)</a></span> - Static method in class <a href="org/apache/sis/util/Utilities.html" title="class in org.apache.sis.util">Utilities</a></dt>
<dd>
<div class="block">Returns a string representation of the specified object, which may be an array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordCase.html#DEFAULT">DEFAULT</a></span> - <a href="org/apache/sis/io/wkt/KeywordCase.html" title="enum in org.apache.sis.io.wkt">KeywordCase</a></dt>
<dd>
<div class="block">Keywords case is determined by the WKT <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">convention</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordStyle.html#DEFAULT">DEFAULT</a></span> - <a href="org/apache/sis/io/wkt/KeywordStyle.html" title="enum in org.apache.sis.io.wkt">KeywordStyle</a></dt>
<dd>
<div class="block">Keywords style is determined by the WKT <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">convention</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#DEFAULT">DEFAULT</a></span> - Static variable in class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">The default colors used by <a href="org/apache/sis/io/wkt/FormattableObject.html#print()"><code>FormattableObject.print()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Transliterator.html#DEFAULT">DEFAULT</a></span> - Static variable in class <a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></dt>
<dd>
<div class="block">A transliterator compliant with ISO 19162 on a <cite>"best effort"</cite> basis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#DEFAULT">DEFAULT</a></span> - Static variable in class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">The default and thread-safe instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#DEFAULT">DEFAULT</a></span> - Static variable in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">The default, thread-safe and immutable instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeRole.html#DEFAULT_GEOMETRY">DEFAULT_GEOMETRY</a></span> - <a href="org/apache/sis/feature/builder/AttributeRole.html" title="enum in org.apache.sis.feature.builder">AttributeRole</a></dt>
<dd>
<div class="block">Attribute value will be flagged as the <em>default</em> geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html#DEFAULT_NAME_TYPE">DEFAULT_NAME_TYPE</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Dimension</a></dt>
<dd>
<div class="block">The default ISO 19115 dimension name type, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#DEFAULT_NAMESPACE">DEFAULT_NAMESPACE</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">This property is no longer honored by Apache SIS 1.0.
             Use <a href="https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/annotation/XmlSchema.html?is-external=true" title="class or interface in javax.xml.bind.annotation" class="externalLink"><code>XmlSchema</code></a> instead.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#DEFAULT_ROLE">DEFAULT_ROLE</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Responsible</a></dt>
<dd>
<div class="block">The role to use as a fallback if no attribute value is associated to the <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#ROLE"><code>AttributeNames.Responsible.ROLE</code></a> key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameSpace.html#DEFAULT_SEPARATOR">DEFAULT_SEPARATOR</a></span> - Static variable in class <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">DefaultNameSpace</a></dt>
<dd>
<div class="block">The default separator, which is <code>':'</code>.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultAbsoluteExternalPositionalAccuracy</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Closeness of reported coordinate values to values accepted as or being true.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html#%3Cinit%3E()">DefaultAbsoluteExternalPositionalAccuracy()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultAbsoluteExternalPositionalAccuracy</a></dt>
<dd>
<div class="block">Constructs an initially empty absolute external positional accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.AbsoluteExternalPositionalAccuracy)">DefaultAbsoluteExternalPositionalAccuracy(AbsoluteExternalPositionalAccuracy)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultAbsoluteExternalPositionalAccuracy</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.Result)">DefaultAbsoluteExternalPositionalAccuracy(Result)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultAbsoluteExternalPositionalAccuracy</a></dt>
<dd>
<div class="block">Creates an positional accuracy initialized to the given result.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultAccuracyOfATimeMeasurement</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Correctness of the temporal references of an item (reporting of error in time measurement).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.html#%3Cinit%3E()">DefaultAccuracyOfATimeMeasurement()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.html" title="class in org.apache.sis.metadata.iso.quality">DefaultAccuracyOfATimeMeasurement</a></dt>
<dd>
<div class="block">Constructs an initially empty accuracy of a time measurement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.html#%3Cinit%3E(org.opengis.metadata.quality.AccuracyOfATimeMeasurement)">DefaultAccuracyOfATimeMeasurement(AccuracyOfATimeMeasurement)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.html" title="class in org.apache.sis.metadata.iso.quality">DefaultAccuracyOfATimeMeasurement</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultAcquisitionInformation</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Designations for the measuring instruments, the platform carrying them, and the mission to
 which the data contributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#%3Cinit%3E()">DefaultAcquisitionInformation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Constructs an initially empty acquisition information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#%3Cinit%3E(org.opengis.metadata.acquisition.AcquisitionInformation)">DefaultAcquisitionInformation(AcquisitionInformation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultAddress</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Location of the responsible individual or organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#%3Cinit%3E()">DefaultAddress()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Constructs an initially empty address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#%3Cinit%3E(org.opengis.metadata.citation.Address)">DefaultAddress(Address)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultAffineCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultAffineCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 2- or 3-dimensional coordinate system with straight axes that are not necessarily orthogonal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultAffineCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultAffineCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultAffineCS.html" title="class in org.apache.sis.referencing.cs">DefaultAffineCS</a></dt>
<dd>
<div class="block">Constructs a two-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultAffineCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultAffineCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultAffineCS.html" title="class in org.apache.sis.referencing.cs">DefaultAffineCS</a></dt>
<dd>
<div class="block">Constructs a three-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultAffineCS.html#%3Cinit%3E(org.opengis.referencing.cs.AffineCS)">DefaultAffineCS(AffineCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultAffineCS.html" title="class in org.apache.sis.referencing.cs">DefaultAffineCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultAggregateInformation</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Associated resource information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#%3Cinit%3E()">DefaultAggregateInformation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAggregateInformation</a></dt>
<dd>
<div class="block">Constructs an initially empty Aggregate dataset information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#%3Cinit%3E(org.opengis.metadata.identification.AggregateInformation)">DefaultAggregateInformation(AggregateInformation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAggregateInformation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html" title="class in org.apache.sis.metadata.iso.lineage"><span class="typeNameLink">DefaultAlgorithm</span></a> - Class in <a href="org/apache/sis/metadata/iso/lineage/package-summary.html">org.apache.sis.metadata.iso.lineage</a></dt>
<dd>
<div class="block">Details of the methodology by which geographic information was derived from the instrument readings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html#%3Cinit%3E()">DefaultAlgorithm()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultAlgorithm</a></dt>
<dd>
<div class="block">Constructs an initially empty algorithm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html#%3Cinit%3E(org.opengis.metadata.lineage.Algorithm)">DefaultAlgorithm(Algorithm)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultAlgorithm</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">DefaultApplicationSchemaInformation</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="block">Information about the application schema used to build the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#%3Cinit%3E()">DefaultApplicationSchemaInformation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Construct an initially empty application schema information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#%3Cinit%3E(org.opengis.metadata.ApplicationSchemaInformation)">DefaultApplicationSchemaInformation(ApplicationSchemaInformation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String,java.lang.String)">DefaultApplicationSchemaInformation(Citation, String, String)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Creates a application schema information initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultAssociatedResource</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Associated resource information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#%3Cinit%3E()">DefaultAssociatedResource()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Constructs an initially empty associated resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,org.opengis.metadata.identification.AssociationType)">DefaultAssociatedResource(Citation, AssociationType)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Constructs an associated resource initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature"><span class="typeNameLink">DefaultAssociationRole</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Indicates the role played by the association between two features.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#%3Cinit%3E(java.util.Map,org.apache.sis.feature.DefaultFeatureType,int,int)">DefaultAssociationRole(Map&lt;String, ?&gt;, DefaultFeatureType, int, int)</a></span> - Constructor for class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Constructs an association to the given feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#%3Cinit%3E(java.util.Map,org.opengis.util.GenericName,int,int)">DefaultAssociationRole(Map&lt;String, ?&gt;, GenericName, int, int)</a></span> - Constructor for class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Constructs an association to a feature type of the given name.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultAttributeGroup</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Information about content type for groups of attributes for a specific
 <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">range dimension</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#%3Cinit%3E()">DefaultAttributeGroup()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html" title="class in org.apache.sis.metadata.iso.content">DefaultAttributeGroup</a></dt>
<dd>
<div class="block">Constructs an initially empty attribute group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#%3Cinit%3E(org.apache.sis.metadata.iso.content.DefaultAttributeGroup)">DefaultAttributeGroup(DefaultAttributeGroup)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html" title="class in org.apache.sis.metadata.iso.content">DefaultAttributeGroup</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#%3Cinit%3E(org.opengis.metadata.content.CoverageContentType,org.opengis.metadata.content.RangeDimension)">DefaultAttributeGroup(CoverageContentType, RangeDimension)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html" title="class in org.apache.sis.metadata.iso.content">DefaultAttributeGroup</a></dt>
<dd>
<div class="block">Constructs an attribute group initialized to the given values.</div>
</dd>
<dt><a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature"><span class="typeNameLink">DefaultAttributeType</span></a>&lt;<a href="org/apache/sis/feature/DefaultAttributeType.html" title="type parameter in DefaultAttributeType">V</a>&gt; - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Definition of an attribute in a feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#%3Cinit%3E(java.util.Map,java.lang.Class,int,int,V,org.apache.sis.feature.DefaultAttributeType...)">DefaultAttributeType(Map&lt;String, ?&gt;, Class&lt;V&gt;, int, int, V, DefaultAttributeType&lt;?&gt;...)</a></span> - Constructor for class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Constructs an attribute type from the given properties.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultBand</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Range of wavelengths in the electromagnetic spectrum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#%3Cinit%3E()">DefaultBand()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Constructs an initially empty band.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#%3Cinit%3E(org.opengis.metadata.content.Band)">DefaultBand(Band)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">DefaultBoundingPolygon</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Boundary enclosing the dataset, expressed as the closed set of
 (<var>x</var>,<var>y</var>) coordinates of the polygon.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html#%3Cinit%3E()">DefaultBoundingPolygon()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html" title="class in org.apache.sis.metadata.iso.extent">DefaultBoundingPolygon</a></dt>
<dd>
<div class="block">Constructs an initially empty bounding polygon.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html#%3Cinit%3E(org.opengis.geometry.Geometry)">DefaultBoundingPolygon(Geometry)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html" title="class in org.apache.sis.metadata.iso.extent">DefaultBoundingPolygon</a></dt>
<dd>
<div class="block">Creates a bounding polygon initialized to the specified polygon.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html#%3Cinit%3E(org.opengis.metadata.extent.BoundingPolygon)">DefaultBoundingPolygon(BoundingPolygon)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html" title="class in org.apache.sis.metadata.iso.extent">DefaultBoundingPolygon</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultBrowseGraphic</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Graphic that provides an illustration of the dataset (should include a legend for the graphic).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#%3Cinit%3E()">DefaultBrowseGraphic()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Constructs an initially empty browse graphic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#%3Cinit%3E(java.net.URI)">DefaultBrowseGraphic(URI)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Creates a browse graphics initialized to the specified URI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#%3Cinit%3E(org.opengis.metadata.identification.BrowseGraphic)">DefaultBrowseGraphic(BrowseGraphic)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultCartesianCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 2- or 3-dimensional Cartesian coordinate system made of straight orthogonal axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultCartesianCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html" title="class in org.apache.sis.referencing.cs">DefaultCartesianCS</a></dt>
<dd>
<div class="block">Constructs a two-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultCartesianCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html" title="class in org.apache.sis.referencing.cs">DefaultCartesianCS</a></dt>
<dd>
<div class="block">Constructs a three-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html#%3Cinit%3E(org.opengis.referencing.cs.CartesianCS)">DefaultCartesianCS(CartesianCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html" title="class in org.apache.sis.referencing.cs">DefaultCartesianCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultCitation</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Standardized resource reference.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#%3Cinit%3E()">DefaultCitation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Constructs an initially empty citation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#%3Cinit%3E(java.lang.CharSequence)">DefaultCitation(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Constructs a citation with the specified title.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#%3Cinit%3E(org.opengis.metadata.citation.Citation)">DefaultCitation(Citation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultCitationDate</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Reference date and event used to describe it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html#%3Cinit%3E()">DefaultCitationDate()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitationDate</a></dt>
<dd>
<div class="block">Constructs an initially empty citation date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html#%3Cinit%3E(java.util.Date,org.opengis.metadata.citation.DateType)">DefaultCitationDate(Date, DateType)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitationDate</a></dt>
<dd>
<div class="block">Constructs a citation date initialized to the given date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html#%3Cinit%3E(org.opengis.metadata.citation.CitationDate)">DefaultCitationDate(CitationDate)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitationDate</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultCompletenessCommission</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Excess data present in the dataset, as described by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.html#%3Cinit%3E()">DefaultCompletenessCommission()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCompletenessCommission</a></dt>
<dd>
<div class="block">Constructs an initially empty completeness commission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.html#%3Cinit%3E(org.opengis.metadata.quality.CompletenessCommission)">DefaultCompletenessCommission(CompletenessCommission)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCompletenessCommission</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultCompletenessOmission</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Data absent from the dataset, as described by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.html#%3Cinit%3E()">DefaultCompletenessOmission()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCompletenessOmission</a></dt>
<dd>
<div class="block">Constructs an initially empty completeness omission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.html#%3Cinit%3E(org.opengis.metadata.quality.CompletenessOmission)">DefaultCompletenessOmission(CompletenessOmission)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCompletenessOmission</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultCompoundCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A CRS describing the position of points through two or more independent coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem...)">DefaultCompoundCRS(Map&lt;String, ?&gt;, CoordinateReferenceSystem...)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Constructs a compound CRS from the given properties and CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#%3Cinit%3E(org.opengis.referencing.crs.CompoundCRS)">DefaultCompoundCRS(CompoundCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultCompoundCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A coordinate system made of two or more independent coordinate systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystem...)">DefaultCompoundCS(Map&lt;String, ?&gt;, CoordinateSystem...)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html" title="class in org.apache.sis.referencing.cs">DefaultCompoundCS</a></dt>
<dd>
<div class="block">Constructs a coordinate system from a set of properties and a sequence of coordinate systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html#%3Cinit%3E(org.opengis.referencing.cs.CoordinateSystem...)">DefaultCompoundCS(CoordinateSystem...)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html" title="class in org.apache.sis.referencing.cs">DefaultCompoundCS</a></dt>
<dd>
<div class="block">Constructs a compound coordinate system from a sequence of coordinate systems.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultConceptualConsistency</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Adherence to rules of the conceptual schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.html#%3Cinit%3E()">DefaultConceptualConsistency()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConceptualConsistency</a></dt>
<dd>
<div class="block">Constructs an initially empty conceptual consistency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.html#%3Cinit%3E(org.opengis.metadata.quality.ConceptualConsistency)">DefaultConceptualConsistency(ConceptualConsistency)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConceptualConsistency</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultConformanceResult</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Information about the outcome of evaluating the obtained value (or set of values) against
 a specified acceptable conformance quality level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#%3Cinit%3E()">DefaultConformanceResult()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Constructs an initially empty conformance result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.CharSequence,boolean)">DefaultConformanceResult(Citation, CharSequence, boolean)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Creates a conformance result initialized to the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#%3Cinit%3E(org.opengis.metadata.quality.ConformanceResult)">DefaultConformanceResult(ConformanceResult)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint"><span class="typeNameLink">DefaultConstraints</span></a> - Class in <a href="org/apache/sis/metadata/iso/constraint/package-summary.html">org.apache.sis.metadata.iso.constraint</a></dt>
<dd>
<div class="block">Restrictions on the access and use of a resource or metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#%3Cinit%3E()">DefaultConstraints()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Constructs an initially empty constraints.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#%3Cinit%3E(java.lang.CharSequence)">DefaultConstraints(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Constructs a new constraints with the given <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getUseLimitations()">use limitation</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#%3Cinit%3E(org.opengis.metadata.constraint.Constraints)">DefaultConstraints(Constraints)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultContact</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Information required to enable contact with the responsible person and/or organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#%3Cinit%3E()">DefaultContact()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Constructs an initially empty contact.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#%3Cinit%3E(org.opengis.metadata.citation.Contact)">DefaultContact(Contact)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#%3Cinit%3E(org.opengis.metadata.citation.OnlineResource)">DefaultContact(OnlineResource)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Constructs a contact initialized to the specified online resource.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">DefaultConversion</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">A parameterized mathematical operation that converts coordinates to another CRS without any change of
 <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">datum</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultConversion.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.OperationMethod,org.opengis.referencing.operation.MathTransform)">DefaultConversion(Map&lt;String, ?&gt;, CoordinateReferenceSystem, CoordinateReferenceSystem, CoordinateReferenceSystem, OperationMethod, MathTransform)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation">DefaultConversion</a></dt>
<dd>
<div class="block">Creates a coordinate conversion from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultConversion.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.operation.OperationMethod,org.opengis.referencing.operation.MathTransform,org.opengis.parameter.ParameterValueGroup)">DefaultConversion(Map&lt;String, ?&gt;, OperationMethod, MathTransform, ParameterValueGroup)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation">DefaultConversion</a></dt>
<dd>
<div class="block">Creates a defining conversion from the given transform and/or parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultConversion.html#%3Cinit%3E(org.opengis.referencing.operation.Conversion)">DefaultConversion(Conversion)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation">DefaultConversion</a></dt>
<dd>
<div class="block">Creates a new coordinate operation with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">DefaultCoordinateOperationFactory</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">Creates <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">operations</a> capable to transform coordinates
 from a given source CRS to a given target CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#%3Cinit%3E()">DefaultCoordinateOperationFactory()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Constructs a factory with no default properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.operation.MathTransformFactory)">DefaultCoordinateOperationFactory(Map&lt;String, ?&gt;, MathTransformFactory)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Constructs a factory with the given default properties.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultCoordinateSystemAxis</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">Coordinate system axis name, direction, unit and range of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#%3Cinit%3E(java.util.Map,java.lang.String,org.opengis.referencing.cs.AxisDirection,javax.measure.Unit)">DefaultCoordinateSystemAxis(Map&lt;String, ?&gt;, String, AxisDirection, Unit&lt;?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Constructs an axis from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#%3Cinit%3E(org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultCoordinateSystemAxis(CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Creates a new coordinate system axis with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultCoupledResource</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Links a given operation name with a resource identified by an "identifier".</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#%3Cinit%3E()">DefaultCoupledResource()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Constructs an initially empty coupled resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#%3Cinit%3E(org.apache.sis.metadata.iso.identification.DefaultCoupledResource)">DefaultCoupledResource(DefaultCoupledResource)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#%3Cinit%3E(org.opengis.util.ScopedName,org.opengis.metadata.citation.Citation,org.opengis.metadata.identification.DataIdentification,org.apache.sis.metadata.iso.identification.DefaultOperationMetadata)">DefaultCoupledResource(ScopedName, Citation, DataIdentification, DefaultOperationMetadata)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Constructs a new coupled resource initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultCoverageDescription</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Information about the content of a grid data cell.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#%3Cinit%3E()">DefaultCoverageDescription()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Constructs an empty coverage description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#%3Cinit%3E(org.opengis.metadata.content.CoverageDescription)">DefaultCoverageDescription(CoverageDescription)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultCoverageResult</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Result of a data quality measure organising the measured values as a coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#%3Cinit%3E()">DefaultCoverageResult()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Constructs an initially empty coverage result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#%3Cinit%3E(org.opengis.metadata.quality.CoverageResult)">DefaultCoverageResult(CoverageResult)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultCylindricalCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 3-dimensional coordinate system made of a
 <a href="org/apache/sis/referencing/cs/DefaultPolarCS.html" title="class in org.apache.sis.referencing.cs">polar coordinate system</a> extended by a straight perpendicular axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultCylindricalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html" title="class in org.apache.sis.referencing.cs">DefaultCylindricalCS</a></dt>
<dd>
<div class="block">Constructs a three-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html#%3Cinit%3E(org.opengis.referencing.cs.CylindricalCS)">DefaultCylindricalCS(CylindricalCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html" title="class in org.apache.sis.referencing.cs">DefaultCylindricalCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution"><span class="typeNameLink">DefaultDataFile</span></a> - Class in <a href="org/apache/sis/metadata/iso/distribution/package-summary.html">org.apache.sis.metadata.iso.distribution</a></dt>
<dd>
<div class="block">Description of a transfer data file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#%3Cinit%3E()">DefaultDataFile()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Constructs an initially empty data file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#%3Cinit%3E(org.opengis.metadata.distribution.DataFile)">DefaultDataFile(DataFile)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultDataIdentification</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Information required to identify a dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#%3Cinit%3E()">DefaultDataIdentification()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Constructs an initially empty data identification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.CharSequence,java.util.Locale,org.opengis.metadata.identification.TopicCategory)">DefaultDataIdentification(Citation, CharSequence, Locale, TopicCategory)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Creates a data identification initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#%3Cinit%3E(org.opengis.metadata.identification.DataIdentification)">DefaultDataIdentification(DataIdentification)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultDataQuality</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Quality information for the data specified by a data quality scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#%3Cinit%3E()">DefaultDataQuality()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Constructs an initially empty data quality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#%3Cinit%3E(org.opengis.metadata.maintenance.ScopeCode)">DefaultDataQuality(ScopeCode)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Creates a data quality initialized to the given scope level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#%3Cinit%3E(org.opengis.metadata.quality.DataQuality)">DefaultDataQuality(DataQuality)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#%3Cinit%3E(org.opengis.metadata.quality.Scope)">DefaultDataQuality(Scope)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Creates a data quality initialized to the given scope.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultDerivedCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A coordinate reference system that is defined by its coordinate <a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation">conversion</a>
 from another CRS (not by a <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">datum</a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.crs.SingleCRS,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.OperationMethod,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.cs.CoordinateSystem)">DefaultDerivedCRS(Map&lt;String, ?&gt;, SingleCRS, CoordinateReferenceSystem, OperationMethod, MathTransform, CoordinateSystem)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Creates a derived CRS from a math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.crs.SingleCRS,org.opengis.referencing.operation.Conversion,org.opengis.referencing.cs.CoordinateSystem)">DefaultDerivedCRS(Map&lt;String, ?&gt;, SingleCRS, Conversion, CoordinateSystem)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Creates a derived CRS from a defining conversion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#%3Cinit%3E(org.opengis.referencing.crs.DerivedCRS)">DefaultDerivedCRS(DerivedCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution"><span class="typeNameLink">DefaultDigitalTransferOptions</span></a> - Class in <a href="org/apache/sis/metadata/iso/distribution/package-summary.html">org.apache.sis.metadata.iso.distribution</a></dt>
<dd>
<div class="block">Technical means and media by which a resource is obtained from the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#%3Cinit%3E()">DefaultDigitalTransferOptions()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Constructs an initially empty digital transfer options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#%3Cinit%3E(org.opengis.metadata.distribution.DigitalTransferOptions)">DefaultDigitalTransferOptions(DigitalTransferOptions)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">DefaultDimension</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Axis properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#%3Cinit%3E()">DefaultDimension()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Constructs an initially empty dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#%3Cinit%3E(org.opengis.metadata.spatial.Dimension)">DefaultDimension(Dimension)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#%3Cinit%3E(org.opengis.metadata.spatial.DimensionNameType,int)">DefaultDimension(DimensionNameType, int)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Creates a dimension initialized to the given type and size.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution"><span class="typeNameLink">DefaultDistribution</span></a> - Class in <a href="org/apache/sis/metadata/iso/distribution/package-summary.html">org.apache.sis.metadata.iso.distribution</a></dt>
<dd>
<div class="block">Information about the distributor of and options for obtaining the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#%3Cinit%3E()">DefaultDistribution()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Constructs an initially empty distribution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#%3Cinit%3E(org.opengis.metadata.distribution.Distribution)">DefaultDistribution(Distribution)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution"><span class="typeNameLink">DefaultDistributor</span></a> - Class in <a href="org/apache/sis/metadata/iso/distribution/package-summary.html">org.apache.sis.metadata.iso.distribution</a></dt>
<dd>
<div class="block">Information about the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#%3Cinit%3E()">DefaultDistributor()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Constructs an initially empty distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#%3Cinit%3E(org.opengis.metadata.citation.ResponsibleParty)">DefaultDistributor(ResponsibleParty)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Creates a distributor with the specified contact.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#%3Cinit%3E(org.opengis.metadata.distribution.Distributor)">DefaultDistributor(Distributor)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultDomainConsistency</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Adherence of values to the value domains.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.html#%3Cinit%3E()">DefaultDomainConsistency()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDomainConsistency</a></dt>
<dd>
<div class="block">Constructs an initially empty domain consistency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.html#%3Cinit%3E(org.opengis.metadata.quality.DomainConsistency)">DefaultDomainConsistency(DomainConsistency)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDomainConsistency</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DefaultEllipsoid</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Geometric figure that can be used to describe the approximate shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#%3Cinit%3E(java.util.Map,double,double,double,boolean,javax.measure.Unit)">DefaultEllipsoid(Map&lt;String, ?&gt;, double, double, double, boolean, Unit&lt;Length&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Creates a new ellipsoid using the specified axis length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#%3Cinit%3E(org.opengis.referencing.datum.Ellipsoid)">DefaultEllipsoid(Ellipsoid)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Creates a new ellipsoid with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultEllipsoidalCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 2- or 3-dimensional coordinate system for geodetic latitude and longitude, optionally with ellipsoidal height.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultEllipsoidalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">DefaultEllipsoidalCS</a></dt>
<dd>
<div class="block">Constructs a two-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultEllipsoidalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">DefaultEllipsoidalCS</a></dt>
<dd>
<div class="block">Constructs a three-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html#%3Cinit%3E(org.opengis.referencing.cs.EllipsoidalCS)">DefaultEllipsoidalCS(EllipsoidalCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">DefaultEllipsoidalCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultEngineeringCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A 1-, 2- or 3-dimensional contextually local coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.EngineeringDatum,org.opengis.referencing.cs.CoordinateSystem)">DefaultEngineeringCRS(Map&lt;String, ?&gt;, EngineeringDatum, CoordinateSystem)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs">DefaultEngineeringCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties, datum and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html#%3Cinit%3E(org.opengis.referencing.crs.EngineeringCRS)">DefaultEngineeringCRS(EngineeringCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs">DefaultEngineeringCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DefaultEngineeringDatum</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Defines the origin of an engineering coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html#%3Cinit%3E(java.util.Map)">DefaultEngineeringDatum(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html" title="class in org.apache.sis.referencing.datum">DefaultEngineeringDatum</a></dt>
<dd>
<div class="block">Creates an engineering datum from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html#%3Cinit%3E(org.opengis.referencing.datum.EngineeringDatum)">DefaultEngineeringDatum(EngineeringDatum)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html" title="class in org.apache.sis.referencing.datum">DefaultEngineeringDatum</a></dt>
<dd>
<div class="block">Creates a new datum with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultEnvironmentalRecord</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Information about the environmental conditions during the acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#%3Cinit%3E()">DefaultEnvironmentalRecord()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Constructs an initially empty environmental record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#%3Cinit%3E(org.opengis.metadata.acquisition.EnvironmentalRecord)">DefaultEnvironmentalRecord(EnvironmentalRecord)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultEvent</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Identification of a significant collection point within an operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#%3Cinit%3E()">DefaultEvent()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Constructs an initially empty acquisition information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#%3Cinit%3E(org.opengis.metadata.acquisition.Event)">DefaultEvent(Event)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">DefaultExtendedElementInformation</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="block">New metadata element, not found in ISO 19115, which is required to describe geographic data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#%3Cinit%3E()">DefaultExtendedElementInformation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Construct an initially empty extended element information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#%3Cinit%3E(java.lang.String,java.lang.CharSequence,java.lang.CharSequence,org.opengis.metadata.Datatype,java.lang.String,java.lang.CharSequence,org.opengis.metadata.citation.ResponsibleParty)">DefaultExtendedElementInformation(String, CharSequence, CharSequence, Datatype, String, CharSequence, ResponsibleParty)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Create an extended element information initialized to the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#%3Cinit%3E(org.opengis.metadata.ExtendedElementInformation)">DefaultExtendedElementInformation(ExtendedElementInformation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">DefaultExtent</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Information about spatial, vertical, and temporal extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#%3Cinit%3E()">DefaultExtent()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Constructs an initially empty extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#%3Cinit%3E(java.lang.CharSequence,org.opengis.metadata.extent.GeographicExtent,org.opengis.metadata.extent.VerticalExtent,org.opengis.metadata.extent.TemporalExtent)">DefaultExtent(CharSequence, GeographicExtent, VerticalExtent, TemporalExtent)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Constructs an extent initialized to the given description or components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#%3Cinit%3E(org.opengis.metadata.extent.Extent)">DefaultExtent(Extent)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultFeatureCatalogueDescription</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Information identifying the feature catalogue or the conceptual schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#%3Cinit%3E()">DefaultFeatureCatalogueDescription()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Constructs an initially empty feature catalogue description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#%3Cinit%3E(org.opengis.metadata.content.FeatureCatalogueDescription)">DefaultFeatureCatalogueDescription(FeatureCatalogueDescription)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature"><span class="typeNameLink">DefaultFeatureType</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Abstraction of a real-world phenomena.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#%3Cinit%3E(java.util.Map,boolean,org.apache.sis.feature.DefaultFeatureType%5B%5D,org.apache.sis.feature.AbstractIdentifiedType...)">DefaultFeatureType(Map&lt;String, ?&gt;, boolean, DefaultFeatureType[], AbstractIdentifiedType...)</a></span> - Constructor for class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Constructs a feature type from the given properties.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultFeatureTypeInfo</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Information about the occurring feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html#%3Cinit%3E()">DefaultFeatureTypeInfo()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureTypeInfo</a></dt>
<dd>
<div class="block">Constructs an initially empty feature type info.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html#%3Cinit%3E(org.apache.sis.metadata.iso.content.DefaultFeatureTypeInfo)">DefaultFeatureTypeInfo(DefaultFeatureTypeInfo)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureTypeInfo</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html#%3Cinit%3E(org.opengis.util.GenericName)">DefaultFeatureTypeInfo(GenericName)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureTypeInfo</a></dt>
<dd>
<div class="block">Constructs a feature type info initialized to the specified name.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution"><span class="typeNameLink">DefaultFormat</span></a> - Class in <a href="org/apache/sis/metadata/iso/distribution/package-summary.html">org.apache.sis.metadata.iso.distribution</a></dt>
<dd>
<div class="block">Description of the computer language construct that specifies the representation
 of data objects in a record, file, message, storage device or transmission channel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#%3Cinit%3E()">DefaultFormat()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Constructs an initially empty format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#%3Cinit%3E(org.opengis.metadata.distribution.Format)">DefaultFormat(Format)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultFormatConsistency</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Degree to which data is stored in accordance with the physical structure of the dataset, as described by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.html#%3Cinit%3E()">DefaultFormatConsistency()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultFormatConsistency</a></dt>
<dd>
<div class="block">Constructs an initially empty formal consistency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.html#%3Cinit%3E(org.opengis.metadata.quality.FormatConsistency)">DefaultFormatConsistency(FormatConsistency)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultFormatConsistency</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">DefaultFormula</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">Specification of the coordinate operation method formula.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#%3Cinit%3E(java.lang.CharSequence)">DefaultFormula(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Creates a new formula from the given string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#%3Cinit%3E(org.opengis.metadata.citation.Citation)">DefaultFormula(Citation)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Creates a new formula from the given citation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#%3Cinit%3E(org.opengis.referencing.operation.Formula)">DefaultFormula(Formula)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Creates a new formula with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">DefaultGCP</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Information on ground control point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html#%3Cinit%3E()">DefaultGCP()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCP</a></dt>
<dd>
<div class="block">Constructs an initially empty ground control point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html#%3Cinit%3E(org.opengis.metadata.spatial.GCP)">DefaultGCP(GCP)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCP</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">DefaultGCPCollection</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Information about a control point collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#%3Cinit%3E()">DefaultGCPCollection()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Constructs an initially empty ground control point collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#%3Cinit%3E(org.opengis.metadata.spatial.GCPCollection)">DefaultGCPCollection(GCPCollection)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultGeocentricCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A 3-dimensional coordinate reference system with the origin at the approximate centre of mass of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.GeodeticDatum,org.opengis.referencing.cs.CartesianCS)">DefaultGeocentricCRS(Map&lt;String, ?&gt;, GeodeticDatum, CartesianCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeocentricCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties, datum and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.GeodeticDatum,org.opengis.referencing.cs.SphericalCS)">DefaultGeocentricCRS(Map&lt;String, ?&gt;, GeodeticDatum, SphericalCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeocentricCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties, datum and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html#%3Cinit%3E(org.opengis.referencing.crs.GeocentricCRS)">DefaultGeocentricCRS(GeocentricCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeocentricCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DefaultGeodeticDatum</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Defines the location and orientation of an ellipsoid that approximates the shape of the earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.Ellipsoid,org.opengis.referencing.datum.PrimeMeridian)">DefaultGeodeticDatum(Map&lt;String, ?&gt;, Ellipsoid, PrimeMeridian)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Creates a geodetic datum from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#%3Cinit%3E(org.opengis.referencing.datum.GeodeticDatum)">DefaultGeodeticDatum(GeodeticDatum)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Creates a new datum with the same values than the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#defaultGeographic()">defaultGeographic()</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the default two-dimensional normalized geographic CRS.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">DefaultGeographicBoundingBox</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Geographic position of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#%3Cinit%3E()">DefaultGeographicBoundingBox()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Constructs an initially <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#isEmpty()">empty</a> geographic bounding box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#%3Cinit%3E(double,double,double,double)">DefaultGeographicBoundingBox(double, double, double, double)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Creates a geographic bounding box initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#%3Cinit%3E(org.opengis.metadata.extent.GeographicBoundingBox)">DefaultGeographicBoundingBox(GeographicBoundingBox)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultGeographicCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A 2- or 3-dimensional coordinate reference system based on an ellipsoidal approximation of the geoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.GeodeticDatum,org.opengis.referencing.cs.EllipsoidalCS)">DefaultGeographicCRS(Map&lt;String, ?&gt;, GeodeticDatum, EllipsoidalCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeographicCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties, datum and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html#%3Cinit%3E(org.opengis.referencing.crs.GeographicCRS)">DefaultGeographicCRS(GeographicCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeographicCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">DefaultGeographicDescription</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Description of the geographic area using identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html#%3Cinit%3E()">DefaultGeographicDescription()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicDescription</a></dt>
<dd>
<div class="block">Constructs an initially empty geographic description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html#%3Cinit%3E(java.lang.CharSequence)">DefaultGeographicDescription(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicDescription</a></dt>
<dd>
<div class="block">Creates an inclusive geographic description initialized to the given natural language description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String)">DefaultGeographicDescription(Citation, String)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicDescription</a></dt>
<dd>
<div class="block">Creates an inclusive geographic description initialized to the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html#%3Cinit%3E(org.opengis.metadata.extent.GeographicDescription)">DefaultGeographicDescription(GeographicDescription)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicDescription</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">DefaultGeometricObjects</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Number of objects, listed by geometric object type, used in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html#%3Cinit%3E()">DefaultGeometricObjects()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeometricObjects</a></dt>
<dd>
<div class="block">Constructs an initially empty geometric objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html#%3Cinit%3E(org.opengis.metadata.spatial.GeometricObjects)">DefaultGeometricObjects(GeometricObjects)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeometricObjects</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html#%3Cinit%3E(org.opengis.metadata.spatial.GeometricObjectType)">DefaultGeometricObjects(GeometricObjectType)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeometricObjects</a></dt>
<dd>
<div class="block">Creates a geometric object initialized to the given type.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">DefaultGeorectified</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Grid whose cells are regularly spaced in a geographic or projected coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#%3Cinit%3E()">DefaultGeorectified()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Constructs an initially empty georectified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#%3Cinit%3E(org.opengis.metadata.spatial.Georectified)">DefaultGeorectified(Georectified)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">DefaultGeoreferenceable</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Grid with cells irregularly spaced in any given geographic/map projection coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#%3Cinit%3E()">DefaultGeoreferenceable()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Constructs an initially empty georeferenceable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#%3Cinit%3E(org.opengis.metadata.spatial.Georeferenceable)">DefaultGeoreferenceable(Georeferenceable)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultGriddedDataPositionalAccuracy</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Closeness of gridded data position values to values accepted as or being true.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.html#%3Cinit%3E()">DefaultGriddedDataPositionalAccuracy()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultGriddedDataPositionalAccuracy</a></dt>
<dd>
<div class="block">Constructs an initially empty gridded data positional acccuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.GriddedDataPositionalAccuracy)">DefaultGriddedDataPositionalAccuracy(GriddedDataPositionalAccuracy)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultGriddedDataPositionalAccuracy</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">DefaultGridSpatialRepresentation</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Method used to represent geographic information in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#%3Cinit%3E()">DefaultGridSpatialRepresentation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Constructs an initially empty grid spatial representation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#%3Cinit%3E(org.opengis.metadata.spatial.GridSpatialRepresentation)">DefaultGridSpatialRepresentation(GridSpatialRepresentation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">DefaultIdentifier</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="block">Value uniquely identifying an object within a namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#%3Cinit%3E()">DefaultIdentifier()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Construct an initially empty identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#%3Cinit%3E(java.lang.String)">DefaultIdentifier(String)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Creates an identifier initialized to the given code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)">DefaultIdentifier(String, String, String)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Creates a new identifier initialized to the given code, code space and version number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String)">DefaultIdentifier(Citation, String)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Creates an identifier initialized to the given authority and code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#%3Cinit%3E(org.opengis.metadata.Identifier)">DefaultIdentifier(Identifier)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultImageCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A 2-dimensional engineering coordinate reference system applied to locations in images.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.ImageDatum,org.opengis.referencing.cs.AffineCS)">DefaultImageCRS(Map&lt;String, ?&gt;, ImageDatum, AffineCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs">DefaultImageCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties, datum and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html#%3Cinit%3E(org.opengis.referencing.crs.ImageCRS)">DefaultImageCRS(ImageCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs">DefaultImageCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DefaultImageDatum</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Defines the origin of an image coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.PixelInCell)">DefaultImageDatum(Map&lt;String, ?&gt;, PixelInCell)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum">DefaultImageDatum</a></dt>
<dd>
<div class="block">Creates an image datum from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html#%3Cinit%3E(org.opengis.referencing.datum.ImageDatum)">DefaultImageDatum(ImageDatum)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum">DefaultImageDatum</a></dt>
<dd>
<div class="block">Creates a new datum with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultImageDescription</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Information about an image's suitability for use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#%3Cinit%3E()">DefaultImageDescription()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Constructs an initially empty image description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#%3Cinit%3E(org.opengis.metadata.content.ImageDescription)">DefaultImageDescription(ImageDescription)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultIndividual</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Information about the party if the party is an individual.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html#%3Cinit%3E()">DefaultIndividual()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html" title="class in org.apache.sis.metadata.iso.citation">DefaultIndividual</a></dt>
<dd>
<div class="block">Constructs an initially empty individual.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html#%3Cinit%3E(java.lang.CharSequence,java.lang.CharSequence,org.opengis.metadata.citation.Contact)">DefaultIndividual(CharSequence, CharSequence, Contact)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html" title="class in org.apache.sis.metadata.iso.citation">DefaultIndividual</a></dt>
<dd>
<div class="block">Constructs an individual initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html#%3Cinit%3E(org.apache.sis.metadata.iso.citation.DefaultIndividual)">DefaultIndividual(DefaultIndividual)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html" title="class in org.apache.sis.metadata.iso.citation">DefaultIndividual</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultInstrument</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Designations for the measuring instruments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#%3Cinit%3E()">DefaultInstrument()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Constructs an initially empty instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#%3Cinit%3E(org.opengis.metadata.acquisition.Instrument)">DefaultInstrument(Instrument)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultInternationalString</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">An international string using a map of strings for different locales.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#%3Cinit%3E()">DefaultInternationalString()</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Creates an initially empty international string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#%3Cinit%3E(java.lang.String)">DefaultInternationalString(String)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Creates an international string initialized with the given string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#%3Cinit%3E(java.util.Map)">DefaultInternationalString(Map&lt;Locale, String&gt;)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Creates an international string initialized with the given localized strings.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultKeywordClass</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Specification of a class to categorize keywords in a domain-specific vocabulary
 that has a binding to a formal ontology.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#%3Cinit%3E()">DefaultKeywordClass()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Constructs an initially empty keyword class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#%3Cinit%3E(java.lang.CharSequence,org.opengis.metadata.citation.Citation)">DefaultKeywordClass(CharSequence, Citation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Creates keyword class initialized to the given key name and ontology.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#%3Cinit%3E(org.apache.sis.metadata.iso.identification.DefaultKeywordClass)">DefaultKeywordClass(DefaultKeywordClass)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultKeywords</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Keywords, their type and reference source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#%3Cinit%3E()">DefaultKeywords()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Constructs an initially empty keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#%3Cinit%3E(java.lang.CharSequence...)">DefaultKeywords(CharSequence...)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Creates keywords initialized to the given key word.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#%3Cinit%3E(org.opengis.metadata.identification.Keywords)">DefaultKeywords(Keywords)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint"><span class="typeNameLink">DefaultLegalConstraints</span></a> - Class in <a href="org/apache/sis/metadata/iso/constraint/package-summary.html">org.apache.sis.metadata.iso.constraint</a></dt>
<dd>
<div class="block">Restrictions and legal prerequisites for accessing and using the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#%3Cinit%3E()">DefaultLegalConstraints()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Constructs an initially empty constraints.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#%3Cinit%3E(java.lang.CharSequence)">DefaultLegalConstraints(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Constructs a new constraints with the given <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getUseLimitations()">use limitation</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#%3Cinit%3E(org.opengis.metadata.constraint.LegalConstraints)">DefaultLegalConstraints(LegalConstraints)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage"><span class="typeNameLink">DefaultLineage</span></a> - Class in <a href="org/apache/sis/metadata/iso/lineage/package-summary.html">org.apache.sis.metadata.iso.lineage</a></dt>
<dd>
<div class="block">Information about the events or source data used in constructing the data specified by
 the scope or lack of knowledge about lineage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#%3Cinit%3E()">DefaultLineage()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Constructs an initially empty lineage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#%3Cinit%3E(org.opengis.metadata.lineage.Lineage)">DefaultLineage(Lineage)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultLinearCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultLinearCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 1-dimensional coordinate system for points that lie on a single axis (not necessarily a straight line).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultLinearCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultLinearCS(Map&lt;String, ?&gt;, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultLinearCS.html" title="class in org.apache.sis.referencing.cs">DefaultLinearCS</a></dt>
<dd>
<div class="block">Constructs a coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultLinearCS.html#%3Cinit%3E(org.opengis.referencing.cs.LinearCS)">DefaultLinearCS(LinearCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultLinearCS.html" title="class in org.apache.sis.referencing.cs">DefaultLinearCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultLocalName</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">Identifier within a <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">name space</a> for a local object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#%3Cinit%3E(org.opengis.util.NameSpace,java.lang.CharSequence)">DefaultLocalName(NameSpace, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Constructs a local name from the given character sequence.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance"><span class="typeNameLink">DefaultMaintenanceInformation</span></a> - Class in <a href="org/apache/sis/metadata/iso/maintenance/package-summary.html">org.apache.sis.metadata.iso.maintenance</a></dt>
<dd>
<div class="block">Information about the scope and frequency of updating.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#%3Cinit%3E()">DefaultMaintenanceInformation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Creates a an initially empty maintenance information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#%3Cinit%3E(org.opengis.metadata.maintenance.MaintenanceFrequency)">DefaultMaintenanceInformation(MaintenanceFrequency)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Creates a maintenance information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#%3Cinit%3E(org.opengis.metadata.maintenance.MaintenanceInformation)">DefaultMaintenanceInformation(MaintenanceInformation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">DefaultMathTransformFactory</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Low level factory for creating <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">math transforms</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#%3Cinit%3E()">DefaultMathTransformFactory()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Creates a new factory which will discover operation methods with a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>ServiceLoader</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#%3Cinit%3E(java.lang.Iterable)">DefaultMathTransformFactory(Iterable&lt;? extends OperationMethod&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Creates a new factory which will use the given operation methods.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">DefaultMathTransformFactory.Context</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Source and target coordinate systems for which a new parameterized transform is going to be used.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution"><span class="typeNameLink">DefaultMedium</span></a> - Class in <a href="org/apache/sis/metadata/iso/distribution/package-summary.html">org.apache.sis.metadata.iso.distribution</a></dt>
<dd>
<div class="block">Information about the media on which the resource can be distributed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#%3Cinit%3E()">DefaultMedium()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Constructs an initially empty medium.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#%3Cinit%3E(org.opengis.metadata.distribution.Medium)">DefaultMedium(Medium)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultMemberName.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultMemberName</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">The name to identify a member of a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/Record.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">record</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultMemberName.html#%3Cinit%3E(org.opengis.util.NameSpace,java.lang.CharSequence,org.opengis.util.TypeName)">DefaultMemberName(NameSpace, CharSequence, TypeName)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultMemberName.html" title="class in org.apache.sis.util.iso">DefaultMemberName</a></dt>
<dd>
<div class="block">Constructs a member name from the given character sequence and attribute type.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">DefaultMetadata</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="block">Root entity which defines metadata about a resource or resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#%3Cinit%3E()">DefaultMetadata()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Creates an initially empty metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#%3Cinit%3E(org.opengis.metadata.citation.ResponsibleParty,java.util.Date,org.opengis.metadata.identification.Identification)">DefaultMetadata(ResponsibleParty, Date, Identification)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Creates a meta data initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#%3Cinit%3E(org.opengis.metadata.Metadata)">DefaultMetadata(Metadata)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">DefaultMetadataExtensionInformation</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="block">Information describing metadata extensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html#%3Cinit%3E()">DefaultMetadataExtensionInformation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataExtensionInformation</a></dt>
<dd>
<div class="block">Construct an initially empty metadata extension information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html#%3Cinit%3E(org.opengis.metadata.MetadataExtensionInformation)">DefaultMetadataExtensionInformation(MetadataExtensionInformation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataExtensionInformation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">DefaultMetadataScope</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="block">Information about the scope of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#%3Cinit%3E()">DefaultMetadataScope()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataScope</a></dt>
<dd>
<div class="block">Constructs an initially empty metadata scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#%3Cinit%3E(org.apache.sis.metadata.iso.DefaultMetadataScope)">DefaultMetadataScope(DefaultMetadataScope)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataScope</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#%3Cinit%3E(org.opengis.metadata.maintenance.ScopeCode,java.lang.CharSequence)">DefaultMetadataScope(ScopeCode, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataScope</a></dt>
<dd>
<div class="block">Constructs a metadata scope initialized to the given value.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultNameFactory</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">A factory for creating <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso"><code>AbstractName</code></a> objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#%3Cinit%3E()">DefaultNameFactory()</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Creates a new factory.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultNameSpace</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">A domain in which <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">names</a> given by character strings are defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameSpace.html#%3Cinit%3E(org.apache.sis.util.iso.DefaultNameSpace,java.lang.CharSequence,java.lang.String,java.lang.String)">DefaultNameSpace(DefaultNameSpace, CharSequence, String, String)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">DefaultNameSpace</a></dt>
<dd>
<div class="block">Creates a new namespace with the given separator.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html" title="class in org.apache.sis.metadata.iso.lineage"><span class="typeNameLink">DefaultNominalResolution</span></a> - Class in <a href="org/apache/sis/metadata/iso/lineage/package-summary.html">org.apache.sis.metadata.iso.lineage</a></dt>
<dd>
<div class="block">Distance between consistent parts of (centre, left side, right side) adjacent pixels.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html#%3Cinit%3E()">DefaultNominalResolution()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultNominalResolution</a></dt>
<dd>
<div class="block">Constructs an initially empty nominal resolution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html#%3Cinit%3E(org.opengis.metadata.lineage.NominalResolution)">DefaultNominalResolution(NominalResolution)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultNominalResolution</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultNonQuantitativeAttributeAccuracy</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Accuracy of non-quantitative attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.html#%3Cinit%3E()">DefaultNonQuantitativeAttributeAccuracy()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultNonQuantitativeAttributeAccuracy</a></dt>
<dd>
<div class="block">Constructs an initially empty non quantitative attribute accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.NonQuantitativeAttributeAccuracy)">DefaultNonQuantitativeAttributeAccuracy(NonQuantitativeAttributeAccuracy)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultNonQuantitativeAttributeAccuracy</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultObjective</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Describes the characteristics, spatial and temporal extent of the intended object to be observed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#%3Cinit%3E()">DefaultObjective()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Constructs an initially empty objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#%3Cinit%3E(org.opengis.metadata.acquisition.Objective)">DefaultObjective(Objective)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultOnlineResource</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Information about on-line sources from which the dataset, specification, or
 community profile name and extended metadata elements can be obtained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#%3Cinit%3E()">DefaultOnlineResource()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Creates an initially empty on line resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#%3Cinit%3E(java.net.URI)">DefaultOnlineResource(URI)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Creates an on line resource initialized to the given URI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#%3Cinit%3E(org.opengis.metadata.citation.OnlineResource)">DefaultOnlineResource(OnlineResource)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultOperation</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Designations for the operation used to acquire the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#%3Cinit%3E()">DefaultOperation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Constructs an initially empty operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#%3Cinit%3E(org.opengis.metadata.acquisition.Operation)">DefaultOperation(Operation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultOperationChainMetadata</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Operation chain information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#%3Cinit%3E()">DefaultOperationChainMetadata()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Constructs an initially empty operation chain metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#%3Cinit%3E(java.lang.CharSequence)">DefaultOperationChainMetadata(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Constructs a new operation chain metadata initialized to the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#%3Cinit%3E(org.apache.sis.metadata.iso.identification.DefaultOperationChainMetadata)">DefaultOperationChainMetadata(DefaultOperationChainMetadata)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultOperationMetadata</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Parameter information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#%3Cinit%3E()">DefaultOperationMetadata()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Constructs an initially empty operation metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#%3Cinit%3E(org.apache.sis.metadata.iso.identification.DefaultOperationMetadata)">DefaultOperationMetadata(DefaultOperationMetadata)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">DefaultOperationMethod</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">Describes the algorithm and parameters used to perform a coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#%3Cinit%3E(java.util.Map,java.lang.Integer,java.lang.Integer,org.opengis.parameter.ParameterDescriptorGroup)">DefaultOperationMethod(Map&lt;String, ?&gt;, Integer, Integer, ParameterDescriptorGroup)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Constructs an operation method from a set of properties and a descriptor group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#%3Cinit%3E(org.opengis.referencing.operation.MathTransform)">DefaultOperationMethod(MathTransform)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Convenience constructor that creates an operation method from a math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod)">DefaultOperationMethod(OperationMethod)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Creates a new operation method with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultOrganisation</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Information about the party if the party is an organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html#%3Cinit%3E()">DefaultOrganisation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOrganisation</a></dt>
<dd>
<div class="block">Constructs an initially empty organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html#%3Cinit%3E(java.lang.CharSequence,org.opengis.metadata.identification.BrowseGraphic,org.apache.sis.metadata.iso.citation.DefaultIndividual,org.opengis.metadata.citation.Contact)">DefaultOrganisation(CharSequence, BrowseGraphic, DefaultIndividual, Contact)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOrganisation</a></dt>
<dd>
<div class="block">Constructs an organization initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html#%3Cinit%3E(org.apache.sis.metadata.iso.citation.DefaultOrganisation)">DefaultOrganisation(DefaultOrganisation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOrganisation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">DefaultParameterDescriptor</span></a>&lt;<a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="type parameter in DefaultParameterDescriptor">T</a>&gt; - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">The definition of a single parameter used by an operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#%3Cinit%3E(java.util.Map,int,int,java.lang.Class,org.apache.sis.measure.Range,T%5B%5D,T)">DefaultParameterDescriptor(Map&lt;String, ?&gt;, int, int, Class&lt;T&gt;, Range&lt;?&gt;, T[], T)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Constructs a descriptor from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#%3Cinit%3E(org.opengis.parameter.ParameterDescriptor)">DefaultParameterDescriptor(ParameterDescriptor&lt;T&gt;)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Creates a new descriptor with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">DefaultParameterDescriptorGroup</span></a> - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">The definition of a group of related parameters used by an operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#%3Cinit%3E(java.util.Map,int,int,org.opengis.parameter.GeneralParameterDescriptor...)">DefaultParameterDescriptorGroup(Map&lt;String, ?&gt;, int, int, GeneralParameterDescriptor...)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Constructs a parameter group from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#%3Cinit%3E(java.util.Map,org.opengis.parameter.ParameterDescriptorGroup)">DefaultParameterDescriptorGroup(Map&lt;String, ?&gt;, ParameterDescriptorGroup)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Constructs a group with the same parameters than another group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#%3Cinit%3E(org.opengis.parameter.ParameterDescriptorGroup)">DefaultParameterDescriptorGroup(ParameterDescriptorGroup)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Creates a new descriptor with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">DefaultParameterValue</span></a>&lt;<a href="org/apache/sis/parameter/DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt; - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">A single parameter value used by an operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#%3Cinit%3E(org.opengis.parameter.ParameterDescriptor)">DefaultParameterValue(ParameterDescriptor&lt;T&gt;)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Creates a parameter value from the specified descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#%3Cinit%3E(org.opengis.parameter.ParameterValue)">DefaultParameterValue(ParameterValue&lt;T&gt;)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Creates a new instance initialized with the values from the specified parameter object.</div>
</dd>
<dt><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">DefaultParameterValueGroup</span></a> - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">A group of related parameter values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#%3Cinit%3E(org.opengis.parameter.ParameterDescriptorGroup)">DefaultParameterValueGroup(ParameterDescriptorGroup)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Creates a parameter group from the specified descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#%3Cinit%3E(org.opengis.parameter.ParameterValueGroup)">DefaultParameterValueGroup(ParameterValueGroup)</a></span> - Constructor for class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Creates a new instance initialized with all values from the specified parameter group.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultParametricCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A 1-dimensional coordinate reference system which uses parameter values or functions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html#%3Cinit%3E(java.util.Map,org.apache.sis.referencing.datum.DefaultParametricDatum,org.apache.sis.referencing.cs.DefaultParametricCS)">DefaultParametricCRS(Map&lt;String, ?&gt;, DefaultParametricDatum, DefaultParametricCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultParametricCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties, datum and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html#%3Cinit%3E(org.apache.sis.referencing.crs.DefaultParametricCRS)">DefaultParametricCRS(DefaultParametricCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultParametricCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultParametricCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultParametricCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 1-dimensional coordinate system for parametric values or functions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultParametricCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultParametricCS(Map&lt;String, ?&gt;, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultParametricCS.html" title="class in org.apache.sis.referencing.cs">DefaultParametricCS</a></dt>
<dd>
<div class="block">Constructs a coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultParametricCS.html#%3Cinit%3E(org.apache.sis.referencing.cs.DefaultParametricCS)">DefaultParametricCS(DefaultParametricCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultParametricCS.html" title="class in org.apache.sis.referencing.cs">DefaultParametricCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DefaultParametricDatum.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DefaultParametricDatum</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Defines the origin of a parametric coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultParametricDatum.html#%3Cinit%3E(java.util.Map)">DefaultParametricDatum(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultParametricDatum.html" title="class in org.apache.sis.referencing.datum">DefaultParametricDatum</a></dt>
<dd>
<div class="block">Creates a parametric datum from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultParametricDatum.html#%3Cinit%3E(org.apache.sis.referencing.datum.DefaultParametricDatum)">DefaultParametricDatum(DefaultParametricDatum)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultParametricDatum.html" title="class in org.apache.sis.referencing.datum">DefaultParametricDatum</a></dt>
<dd>
<div class="block">Creates a new datum with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">DefaultPassThroughOperation</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">Specifies that a subset of a coordinate tuple is subject to a specific coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.SingleOperation,int,int)">DefaultPassThroughOperation(Map&lt;String, ?&gt;, CoordinateReferenceSystem, CoordinateReferenceSystem, SingleOperation, int, int)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Constructs a single operation from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#%3Cinit%3E(org.opengis.referencing.operation.PassThroughOperation)">DefaultPassThroughOperation(PassThroughOperation)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Creates a new coordinate operation with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultPlan</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Designations for the planning information related to meeting the data acquisition requirements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#%3Cinit%3E()">DefaultPlan()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Constructs an initially empty plan.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#%3Cinit%3E(org.opengis.metadata.acquisition.Plan)">DefaultPlan(Plan)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultPlatform</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Designation of the platform used to acquire the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#%3Cinit%3E()">DefaultPlatform()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Constructs an initially empty platform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#%3Cinit%3E(org.opengis.metadata.acquisition.Platform)">DefaultPlatform(Platform)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultPlatformPass</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Identification of collection coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#%3Cinit%3E()">DefaultPlatformPass()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Constructs an initially empty platform pass.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#%3Cinit%3E(org.opengis.metadata.acquisition.PlatformPass)">DefaultPlatformPass(PlatformPass)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultPolarCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultPolarCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 2-dimensional coordinate system for coordinates represented by a distance from the origin
 and an angle from a fixed direction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultPolarCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultPolarCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultPolarCS.html" title="class in org.apache.sis.referencing.cs">DefaultPolarCS</a></dt>
<dd>
<div class="block">Constructs a two-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultPolarCS.html#%3Cinit%3E(org.opengis.referencing.cs.PolarCS)">DefaultPolarCS(PolarCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultPolarCS.html" title="class in org.apache.sis.referencing.cs">DefaultPolarCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">DefaultPortrayalCatalogueReference</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="block">Information identifying the portrayal catalogue used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html#%3Cinit%3E()">DefaultPortrayalCatalogueReference()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html" title="class in org.apache.sis.metadata.iso">DefaultPortrayalCatalogueReference</a></dt>
<dd>
<div class="block">Construct an initially empty portrayal catalogue reference.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html#%3Cinit%3E(org.opengis.metadata.citation.Citation)">DefaultPortrayalCatalogueReference(Citation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html" title="class in org.apache.sis.metadata.iso">DefaultPortrayalCatalogueReference</a></dt>
<dd>
<div class="block">Creates a portrayal catalogue reference initialized to the given reference.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html#%3Cinit%3E(org.opengis.metadata.PortrayalCatalogueReference)">DefaultPortrayalCatalogueReference(PortrayalCatalogueReference)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html" title="class in org.apache.sis.metadata.iso">DefaultPortrayalCatalogueReference</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DefaultPrimeMeridian</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Defines the origin from which longitude values are determined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#%3Cinit%3E(java.util.Map,double,javax.measure.Unit)">DefaultPrimeMeridian(Map&lt;String, ?&gt;, double, Unit&lt;Angle&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Creates a prime meridian from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#%3Cinit%3E(org.opengis.referencing.datum.PrimeMeridian)">DefaultPrimeMeridian(PrimeMeridian)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Creates a new prime meridian with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage"><span class="typeNameLink">DefaultProcessing</span></a> - Class in <a href="org/apache/sis/metadata/iso/lineage/package-summary.html">org.apache.sis.metadata.iso.lineage</a></dt>
<dd>
<div class="block">Comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#%3Cinit%3E()">DefaultProcessing()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Constructs an initially empty range element description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#%3Cinit%3E(org.opengis.metadata.lineage.Processing)">DefaultProcessing(Processing)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage"><span class="typeNameLink">DefaultProcessStep</span></a> - Class in <a href="org/apache/sis/metadata/iso/lineage/package-summary.html">org.apache.sis.metadata.iso.lineage</a></dt>
<dd>
<div class="block">Information about an event or transformation in the life of a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#%3Cinit%3E()">DefaultProcessStep()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Creates an initially empty process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#%3Cinit%3E(java.lang.CharSequence)">DefaultProcessStep(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Creates a process step initialized to the given description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#%3Cinit%3E(org.opengis.metadata.lineage.ProcessStep)">DefaultProcessStep(ProcessStep)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage"><span class="typeNameLink">DefaultProcessStepReport</span></a> - Class in <a href="org/apache/sis/metadata/iso/lineage/package-summary.html">org.apache.sis.metadata.iso.lineage</a></dt>
<dd>
<div class="block">Report of what occurred during the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#%3Cinit%3E()">DefaultProcessStepReport()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Constructs an initially empty process step report.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#%3Cinit%3E(org.opengis.metadata.lineage.ProcessStepReport)">DefaultProcessStepReport(ProcessStepReport)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultProjectedCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A 2-dimensional coordinate reference system used to approximate the shape of the earth on a planar surface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.crs.GeographicCRS,org.opengis.referencing.operation.Conversion,org.opengis.referencing.cs.CartesianCS)">DefaultProjectedCRS(Map&lt;String, ?&gt;, GeographicCRS, Conversion, CartesianCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Creates a projected CRS from a defining conversion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#%3Cinit%3E(org.opengis.referencing.crs.ProjectedCRS)">DefaultProjectedCRS(ProjectedCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultQuantitativeAttributeAccuracy</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Accuracy of quantitative attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.html#%3Cinit%3E()">DefaultQuantitativeAttributeAccuracy()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeAttributeAccuracy</a></dt>
<dd>
<div class="block">Constructs an initially empty quantitative attribute accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.QuantitativeAttributeAccuracy)">DefaultQuantitativeAttributeAccuracy(QuantitativeAttributeAccuracy)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeAttributeAccuracy</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultQuantitativeResult</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Information about the value (or set of values) obtained from applying a data quality measure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#%3Cinit%3E()">DefaultQuantitativeResult()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Constructs an initially empty quantitative result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#%3Cinit%3E(org.opengis.metadata.quality.QuantitativeResult)">DefaultQuantitativeResult(QuantitativeResult)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultRangeDimension</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Information on the range of each dimension of a cell measurement value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#%3Cinit%3E()">DefaultRangeDimension()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Constructs an initially empty range dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#%3Cinit%3E(org.opengis.metadata.content.RangeDimension)">DefaultRangeDimension(RangeDimension)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultRangeElementDescription</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">Description of specific range elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#%3Cinit%3E()">DefaultRangeElementDescription()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Constructs an initially empty range element description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#%3Cinit%3E(org.opengis.metadata.content.RangeElementDescription)">DefaultRangeElementDescription(RangeElementDescription)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultRecord</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">A list of logically related elements as (<var>name</var>, <var>value</var>) pairs in a dictionary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#%3Cinit%3E(org.opengis.util.Record)">DefaultRecord(Record)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Creates a new record initialized to a shallow copy of the given record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#%3Cinit%3E(org.opengis.util.RecordType)">DefaultRecord(RecordType)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Creates a new record for the given record type.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultRecordSchema.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultRecordSchema</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">A collection of record types in a given namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordSchema.html#%3Cinit%3E(org.apache.sis.util.iso.DefaultNameFactory,org.opengis.util.NameSpace,java.lang.CharSequence)">DefaultRecordSchema(DefaultNameFactory, NameSpace, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultRecordSchema.html" title="class in org.apache.sis.util.iso">DefaultRecordSchema</a></dt>
<dd>
<div class="block">Creates a new schema of the given name.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultRecordType</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">An immutable definition of the type of a <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">record</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#%3Cinit%3E(org.opengis.util.RecordType)">DefaultRecordType(RecordType)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Creates a new record with the same names and members than the given one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#%3Cinit%3E(org.opengis.util.TypeName,org.opengis.util.RecordSchema,java.util.Map)">DefaultRecordType(TypeName, RecordSchema, Map&lt;? extends MemberName, ? extends Type&gt;)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Creates a new record in the given schema.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultRelativeInternalPositionalAccuracy</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Closeness of the relative positions of features in the scope to their respective
 relative positions accepted as or being true.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.html#%3Cinit%3E()">DefaultRelativeInternalPositionalAccuracy()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultRelativeInternalPositionalAccuracy</a></dt>
<dd>
<div class="block">Constructs an initially empty relative internal positional accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.html#%3Cinit%3E(org.opengis.metadata.quality.RelativeInternalPositionalAccuracy)">DefaultRelativeInternalPositionalAccuracy(RelativeInternalPositionalAccuracy)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.html" title="class in org.apache.sis.metadata.iso.quality">DefaultRelativeInternalPositionalAccuracy</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint"><span class="typeNameLink">DefaultReleasability</span></a> - Class in <a href="org/apache/sis/metadata/iso/constraint/package-summary.html">org.apache.sis.metadata.iso.constraint</a></dt>
<dd>
<div class="block">Information about resource release constraints.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html#%3Cinit%3E()">DefaultReleasability()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultReleasability</a></dt>
<dd>
<div class="block">Creates an initially empty releasability.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html#%3Cinit%3E(org.apache.sis.metadata.iso.constraint.DefaultReleasability)">DefaultReleasability(DefaultReleasability)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultReleasability</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultRepresentativeFraction</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">A scale defined as the inverse of a denominator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#%3Cinit%3E()">DefaultRepresentativeFraction()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Creates a uninitialized representative fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#%3Cinit%3E(long)">DefaultRepresentativeFraction(long)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Creates a new representative fraction from the specified denominator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#%3Cinit%3E(org.opengis.metadata.identification.RepresentativeFraction)">DefaultRepresentativeFraction(RepresentativeFraction)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Constructs a new representative fraction initialized to the value of the given object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultRequestedDate</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Range of date validity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html#%3Cinit%3E()">DefaultRequestedDate()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequestedDate</a></dt>
<dd>
<div class="block">Constructs an initially empty requested date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html#%3Cinit%3E(org.opengis.metadata.acquisition.RequestedDate)">DefaultRequestedDate(RequestedDate)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequestedDate</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition"><span class="typeNameLink">DefaultRequirement</span></a> - Class in <a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a></dt>
<dd>
<div class="block">Requirement to be satisfied by the planned data acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#%3Cinit%3E()">DefaultRequirement()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Constructs an initially empty requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#%3Cinit%3E(org.opengis.metadata.acquisition.Requirement)">DefaultRequirement(Requirement)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultResolution</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Level of detail expressed as a scale factor or a ground distance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#%3Cinit%3E()">DefaultResolution()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Constructs an initially empty resolution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#%3Cinit%3E(org.opengis.metadata.identification.RepresentativeFraction)">DefaultResolution(RepresentativeFraction)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Creates a new resolution initialized to the given scale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#%3Cinit%3E(org.opengis.metadata.identification.Resolution)">DefaultResolution(Resolution)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultResponsibility</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Information about the party and their role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#%3Cinit%3E()">DefaultResponsibility()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Constructs an initially empty responsible party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#%3Cinit%3E(org.apache.sis.metadata.iso.citation.DefaultResponsibility)">DefaultResponsibility(DefaultResponsibility)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#%3Cinit%3E(org.opengis.metadata.citation.Role,org.opengis.metadata.extent.Extent,org.apache.sis.metadata.iso.citation.AbstractParty)">DefaultResponsibility(Role, Extent, AbstractParty)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Constructs a responsibility initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultResponsibleParty</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Identification of, and means of communication with, person(s) and
 organizations associated with the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#%3Cinit%3E()">DefaultResponsibleParty()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="block">Constructs an initially empty responsible party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#%3Cinit%3E(org.apache.sis.metadata.iso.citation.DefaultResponsibility)">DefaultResponsibleParty(DefaultResponsibility)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#%3Cinit%3E(org.opengis.metadata.citation.ResponsibleParty)">DefaultResponsibleParty(ResponsibleParty)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#%3Cinit%3E(org.opengis.metadata.citation.Role)">DefaultResponsibleParty(Role)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="block">Constructs a responsibility party with the given role.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content"><span class="typeNameLink">DefaultSampleDimension</span></a> - Class in <a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a></dt>
<dd>
<div class="block">The characteristic of each dimension (layer) included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#%3Cinit%3E()">DefaultSampleDimension()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Constructs an initially empty sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#%3Cinit%3E(org.apache.sis.metadata.iso.content.DefaultSampleDimension)">DefaultSampleDimension(DefaultSampleDimension)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance"><span class="typeNameLink">DefaultScope</span></a> - Class in <a href="org/apache/sis/metadata/iso/maintenance/package-summary.html">org.apache.sis.metadata.iso.maintenance</a></dt>
<dd>
<div class="block">The target resource and physical extent for which information is reported.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultScope.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultScope</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, <code>DQ_Scope</code> has been replaced by <code>MD_Scope</code>.
             The later is defined in the <a href="org/apache/sis/metadata/iso/maintenance/package-summary.html"><code>org.apache.sis.metadata.iso.maintenance</code></a> package.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#%3Cinit%3E()">DefaultScope()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Constructs an initially empty scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultScope.html#%3Cinit%3E()">DefaultScope()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultScope.html" title="class in org.apache.sis.metadata.iso.quality">DefaultScope</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructs an initially empty scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#%3Cinit%3E(org.opengis.metadata.maintenance.ScopeCode)">DefaultScope(ScopeCode)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Creates a scope initialized to the given level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultScope.html#%3Cinit%3E(org.opengis.metadata.maintenance.ScopeCode)">DefaultScope(ScopeCode)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultScope.html" title="class in org.apache.sis.metadata.iso.quality">DefaultScope</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a scope initialized to the given level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#%3Cinit%3E(org.opengis.metadata.quality.Scope)">DefaultScope(Scope)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultScope.html#%3Cinit%3E(org.opengis.metadata.quality.Scope)">DefaultScope(Scope)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultScope.html" title="class in org.apache.sis.metadata.iso.quality">DefaultScope</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance"><span class="typeNameLink">DefaultScopeDescription</span></a> - Class in <a href="org/apache/sis/metadata/iso/maintenance/package-summary.html">org.apache.sis.metadata.iso.maintenance</a></dt>
<dd>
<div class="block">Description of the class of information covered by the information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#%3Cinit%3E()">DefaultScopeDescription()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Creates an initially empty scope description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#%3Cinit%3E(org.opengis.metadata.maintenance.ScopeDescription)">DefaultScopeDescription(ScopeDescription)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultScopedName</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">A composite of a <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">name space</a> (as a <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">local name</a>)
 and a <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">generic name</a> valid in that name space.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultScopedName.html#%3Cinit%3E(org.opengis.util.GenericName,java.lang.String,java.lang.CharSequence)">DefaultScopedName(GenericName, String, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso">DefaultScopedName</a></dt>
<dd>
<div class="block">Constructs a scoped name as the concatenation of the given generic name with a single character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultScopedName.html#%3Cinit%3E(org.opengis.util.GenericName,org.opengis.util.GenericName)">DefaultScopedName(GenericName, GenericName)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso">DefaultScopedName</a></dt>
<dd>
<div class="block">Constructs a scoped name as the concatenation of the given generic names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultScopedName.html#%3Cinit%3E(org.opengis.util.NameSpace,java.util.List)">DefaultScopedName(NameSpace, List&lt;? extends CharSequence&gt;)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso">DefaultScopedName</a></dt>
<dd>
<div class="block">Constructs a scoped name from the specified list of strings.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint"><span class="typeNameLink">DefaultSecurityConstraints</span></a> - Class in <a href="org/apache/sis/metadata/iso/constraint/package-summary.html">org.apache.sis.metadata.iso.constraint</a></dt>
<dd>
<div class="block">Handling restrictions imposed on the resource for national security or similar security concerns.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#%3Cinit%3E()">DefaultSecurityConstraints()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Creates an initially empty security constraints.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#%3Cinit%3E(java.lang.CharSequence)">DefaultSecurityConstraints(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Constructs a new constraints with the given <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getUseLimitations()">use limitation</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#%3Cinit%3E(org.opengis.metadata.constraint.Classification)">DefaultSecurityConstraints(Classification)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Creates a security constraints initialized with the specified classification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#%3Cinit%3E(org.opengis.metadata.constraint.SecurityConstraints)">DefaultSecurityConstraints(SecurityConstraints)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultSeries</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Information about the series, or aggregate dataset, to which a dataset belongs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#%3Cinit%3E()">DefaultSeries()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Constructs a default series.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#%3Cinit%3E(java.lang.CharSequence)">DefaultSeries(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Constructs a series with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#%3Cinit%3E(org.opengis.metadata.citation.Series)">DefaultSeries(Series)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultServiceIdentification</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Identification of capabilities which a service provider makes available to a service user
 through a set of interfaces that define a behaviour.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#%3Cinit%3E()">DefaultServiceIdentification()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Constructs an initially empty service identification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#%3Cinit%3E(org.opengis.metadata.identification.ServiceIdentification)">DefaultServiceIdentification(ServiceIdentification)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#%3Cinit%3E(org.opengis.util.GenericName,org.opengis.metadata.citation.Citation,java.lang.CharSequence)">DefaultServiceIdentification(GenericName, Citation, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Constructs a service identification initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage"><span class="typeNameLink">DefaultSource</span></a> - Class in <a href="org/apache/sis/metadata/iso/lineage/package-summary.html">org.apache.sis.metadata.iso.lineage</a></dt>
<dd>
<div class="block">Information about the source data used in creating the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#%3Cinit%3E()">DefaultSource()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Creates an initially empty source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#%3Cinit%3E(java.lang.CharSequence)">DefaultSource(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Creates a source initialized with the given description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#%3Cinit%3E(org.opengis.metadata.lineage.Source)">DefaultSource(Source)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">DefaultSpatialTemporalExtent</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Extent with respect to date/time and spatial boundaries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#%3Cinit%3E()">DefaultSpatialTemporalExtent()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Constructs an initially empty spatial-temporal extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#%3Cinit%3E(org.opengis.metadata.extent.GeographicExtent,org.opengis.metadata.extent.VerticalExtent,org.opengis.metadata.extent.TemporalExtent)">DefaultSpatialTemporalExtent(GeographicExtent, VerticalExtent, TemporalExtent)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Constructs a new spatial-temporal extent initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#%3Cinit%3E(org.opengis.metadata.extent.SpatialTemporalExtent)">DefaultSpatialTemporalExtent(SpatialTemporalExtent)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultSphericalCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 3-dimensional coordinate system with one distance measured from the origin and two angular coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultSphericalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs">DefaultSphericalCS</a></dt>
<dd>
<div class="block">Constructs a three-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html#%3Cinit%3E(org.opengis.referencing.cs.SphericalCS)">DefaultSphericalCS(SphericalCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs">DefaultSphericalCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution"><span class="typeNameLink">DefaultStandardOrderProcess</span></a> - Class in <a href="org/apache/sis/metadata/iso/distribution/package-summary.html">org.apache.sis.metadata.iso.distribution</a></dt>
<dd>
<div class="block">Common ways in which the resource may be obtained or received, and related instructions
 and fee information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#%3Cinit%3E()">DefaultStandardOrderProcess()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Constructs an initially empty standard order process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#%3Cinit%3E(org.opengis.metadata.distribution.StandardOrderProcess)">DefaultStandardOrderProcess(StandardOrderProcess)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation"><span class="typeNameLink">DefaultTelephone</span></a> - Class in <a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a></dt>
<dd>
<div class="block">Telephone numbers for contacting the responsible individual or organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#%3Cinit%3E()">DefaultTelephone()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="block">Constructs a default telephone.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#%3Cinit%3E(org.opengis.metadata.citation.Telephone)">DefaultTelephone(Telephone)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultTemporalConsistency</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Correctness of ordered events or sequences, if reported.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.html#%3Cinit%3E()">DefaultTemporalConsistency()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTemporalConsistency</a></dt>
<dd>
<div class="block">Constructs an initially empty temporal consistency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.html#%3Cinit%3E(org.opengis.metadata.quality.TemporalConsistency)">DefaultTemporalConsistency(TemporalConsistency)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTemporalConsistency</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultTemporalCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A 1-dimensional coordinate reference system used for the recording of time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.TemporalDatum,org.opengis.referencing.cs.TimeCS)">DefaultTemporalCRS(Map&lt;String, ?&gt;, TemporalDatum, TimeCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties, datum and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#%3Cinit%3E(org.opengis.referencing.crs.TemporalCRS)">DefaultTemporalCRS(TemporalCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DefaultTemporalDatum</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Defines the origin of a temporal coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html#%3Cinit%3E(java.util.Map,java.util.Date)">DefaultTemporalDatum(Map&lt;String, ?&gt;, Date)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultTemporalDatum</a></dt>
<dd>
<div class="block">Creates a temporal datum from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html#%3Cinit%3E(org.opengis.referencing.datum.TemporalDatum)">DefaultTemporalDatum(TemporalDatum)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultTemporalDatum</a></dt>
<dd>
<div class="block">Creates a new datum with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">DefaultTemporalExtent</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Time period covered by the content of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#%3Cinit%3E()">DefaultTemporalExtent()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Constructs an initially empty temporal extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#%3Cinit%3E(org.opengis.metadata.extent.TemporalExtent)">DefaultTemporalExtent(TemporalExtent)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultTemporalValidity</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Validity of data specified by the scope with respect to time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.html#%3Cinit%3E()">DefaultTemporalValidity()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTemporalValidity</a></dt>
<dd>
<div class="block">Constructs an initially empty temporal validity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.html#%3Cinit%3E(org.opengis.metadata.quality.TemporalValidity)">DefaultTemporalValidity(TemporalValidity)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTemporalValidity</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultThematicClassificationCorrectness</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Comparison of the classes assigned to features or their attributes to a universe of discourse.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.html#%3Cinit%3E()">DefaultThematicClassificationCorrectness()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.html" title="class in org.apache.sis.metadata.iso.quality">DefaultThematicClassificationCorrectness</a></dt>
<dd>
<div class="block">Constructs an initially empty thematic classification correctness.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.html#%3Cinit%3E(org.opengis.metadata.quality.ThematicClassificationCorrectness)">DefaultThematicClassificationCorrectness(ThematicClassificationCorrectness)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.html" title="class in org.apache.sis.metadata.iso.quality">DefaultThematicClassificationCorrectness</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultTimeCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultTimeCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 1-dimensional coordinate system for time elapsed in the specified time units from a specified time origin.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultTimeCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultTimeCS(Map&lt;String, ?&gt;, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultTimeCS.html" title="class in org.apache.sis.referencing.cs">DefaultTimeCS</a></dt>
<dd>
<div class="block">Constructs a coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultTimeCS.html#%3Cinit%3E(org.opengis.referencing.cs.TimeCS)">DefaultTimeCS(TimeCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultTimeCS.html" title="class in org.apache.sis.referencing.cs">DefaultTimeCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultTopologicalConsistency</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="block">Correctness of the explicitly encoded topological characteristics of the dataset as described by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.html#%3Cinit%3E()">DefaultTopologicalConsistency()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTopologicalConsistency</a></dt>
<dd>
<div class="block">Constructs an initially empty topological consistency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.html#%3Cinit%3E(org.opengis.metadata.quality.TopologicalConsistency)">DefaultTopologicalConsistency(TopologicalConsistency)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.html" title="class in org.apache.sis.metadata.iso.quality">DefaultTopologicalConsistency</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/DefaultTransformation.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">DefaultTransformation</span></a> - Class in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">A parameterized mathematical operation that transforms coordinates to another CRS with a change of
 <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">datum</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultTransformation.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.OperationMethod,org.opengis.referencing.operation.MathTransform)">DefaultTransformation(Map&lt;String, ?&gt;, CoordinateReferenceSystem, CoordinateReferenceSystem, CoordinateReferenceSystem, OperationMethod, MathTransform)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultTransformation.html" title="class in org.apache.sis.referencing.operation">DefaultTransformation</a></dt>
<dd>
<div class="block">Creates a coordinate transformation from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultTransformation.html#%3Cinit%3E(org.opengis.referencing.operation.Transformation)">DefaultTransformation(Transformation)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/DefaultTransformation.html" title="class in org.apache.sis.referencing.operation">DefaultTransformation</a></dt>
<dd>
<div class="block">Creates a new coordinate operation with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">DefaultTreeTable</span></a> - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A <a href="org/apache/sis/util/collection/TreeTable.html" title="interface in org.apache.sis.util.collection"><code>TreeTable</code></a> implementation with a <a href="org/apache/sis/util/collection/DefaultTreeTable.html#getColumns()">list of columns</a> given at
 construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#%3Cinit%3E(org.apache.sis.util.collection.DefaultTreeTable.Node)">DefaultTreeTable(DefaultTreeTable.Node)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Creates a new tree table initialized to the given root.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#%3Cinit%3E(org.apache.sis.util.collection.TableColumn...)">DefaultTreeTable(TableColumn&lt;?&gt;...)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Creates a new tree table with the given columns.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">DefaultTreeTable.Node</span></a> - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection"><code>TreeTable.Node</code></a> implementation which can store values for a pre-defined list of columns.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/DefaultTypeName.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">DefaultTypeName</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">The name of an attribute type associated to a <a href="org/apache/sis/util/iso/DefaultMemberName.html" title="class in org.apache.sis.util.iso">member name</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultTypeName.html#%3Cinit%3E(org.opengis.util.NameSpace,java.lang.CharSequence)">DefaultTypeName(NameSpace, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/DefaultTypeName.html" title="class in org.apache.sis.util.iso">DefaultTypeName</a></dt>
<dd>
<div class="block">Constructs a type name from the given character sequence.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/DefaultUsability.html" title="class in org.apache.sis.metadata.iso.quality"><span class="typeNameLink">DefaultUsability</span></a> - Class in <a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Not found in ISO 19115-3:2016 schemas.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultUsability.html#%3Cinit%3E()">DefaultUsability()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultUsability.html" title="class in org.apache.sis.metadata.iso.quality">DefaultUsability</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructs an initially empty usability.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultUsability.html#%3Cinit%3E(org.opengis.metadata.quality.Usability)">DefaultUsability(Usability)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/quality/DefaultUsability.html" title="class in org.apache.sis.metadata.iso.quality">DefaultUsability</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification"><span class="typeNameLink">DefaultUsage</span></a> - Class in <a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a></dt>
<dd>
<div class="block">Brief description of ways in which the resource(s) is/are currently or has been used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#%3Cinit%3E()">DefaultUsage()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Constructs an initially empty usage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#%3Cinit%3E(java.lang.CharSequence,org.opengis.metadata.citation.ResponsibleParty)">DefaultUsage(CharSequence, ResponsibleParty)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Creates an usage initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#%3Cinit%3E(org.opengis.metadata.identification.Usage)">DefaultUsage(Usage)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultUserDefinedCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 2- or 3-dimensional coordinate system for any combination of coordinate axes not covered by other CS types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultUserDefinedCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html" title="class in org.apache.sis.referencing.cs">DefaultUserDefinedCS</a></dt>
<dd>
<div class="block">Constructs a two-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultUserDefinedCS(Map&lt;String, ?&gt;, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html" title="class in org.apache.sis.referencing.cs">DefaultUserDefinedCS</a></dt>
<dd>
<div class="block">Constructs a three-dimensional coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html#%3Cinit%3E(org.opengis.referencing.cs.UserDefinedCS)">DefaultUserDefinedCS(UserDefinedCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html" title="class in org.apache.sis.referencing.cs">DefaultUserDefinedCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial"><span class="typeNameLink">DefaultVectorSpatialRepresentation</span></a> - Class in <a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a></dt>
<dd>
<div class="block">Information about the vector spatial objects in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html#%3Cinit%3E()">DefaultVectorSpatialRepresentation()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultVectorSpatialRepresentation</a></dt>
<dd>
<div class="block">Constructs an initially empty vector spatial representation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html#%3Cinit%3E(org.opengis.metadata.spatial.VectorSpatialRepresentation)">DefaultVectorSpatialRepresentation(VectorSpatialRepresentation)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultVectorSpatialRepresentation</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs"><span class="typeNameLink">DefaultVerticalCRS</span></a> - Class in <a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a></dt>
<dd>
<div class="block">A 1-dimensional coordinate reference system used for recording heights or depths.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.VerticalDatum,org.opengis.referencing.cs.VerticalCS)">DefaultVerticalCRS(Map&lt;String, ?&gt;, VerticalDatum, VerticalCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultVerticalCRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system from the given properties, datum and coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html#%3Cinit%3E(org.opengis.referencing.crs.VerticalCRS)">DefaultVerticalCRS(VerticalCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultVerticalCRS</a></dt>
<dd>
<div class="block">Constructs a new coordinate reference system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html" title="class in org.apache.sis.referencing.cs"><span class="typeNameLink">DefaultVerticalCS</span></a> - Class in <a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a></dt>
<dd>
<div class="block">A 1-dimensional coordinate system for heights or depths of points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.cs.CoordinateSystemAxis)">DefaultVerticalCS(Map&lt;String, ?&gt;, CoordinateSystemAxis)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html" title="class in org.apache.sis.referencing.cs">DefaultVerticalCS</a></dt>
<dd>
<div class="block">Constructs a coordinate system from a set of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html#%3Cinit%3E(org.opengis.referencing.cs.VerticalCS)">DefaultVerticalCS(VerticalCS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html" title="class in org.apache.sis.referencing.cs">DefaultVerticalCS</a></dt>
<dd>
<div class="block">Creates a new coordinate system with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">DefaultVerticalDatum</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Identifies a particular reference level surface used as a zero-height surface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.VerticalDatumType)">DefaultVerticalDatum(Map&lt;String, ?&gt;, VerticalDatumType)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultVerticalDatum</a></dt>
<dd>
<div class="block">Creates a vertical datum from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html#%3Cinit%3E(org.opengis.referencing.datum.VerticalDatum)">DefaultVerticalDatum(VerticalDatum)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultVerticalDatum</a></dt>
<dd>
<div class="block">Creates a new datum with the same values than the specified one.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">DefaultVerticalExtent</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Vertical domain of dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#%3Cinit%3E()">DefaultVerticalExtent()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Constructs an initially empty vertical extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#%3Cinit%3E(double,double,org.opengis.referencing.crs.VerticalCRS)">DefaultVerticalExtent(double, double, VerticalCRS)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Creates a vertical extent initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#%3Cinit%3E(org.opengis.metadata.extent.VerticalExtent)">DefaultVerticalExtent(VerticalExtent)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#DEFINITION_KEY">DEFINITION_KEY</a></span> - Static variable in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Key for the <code>"definition"</code> property to be given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#DEGREE">DEGREE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as π/180 radians (1°).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#degrees()">degrees()</a></span> - Method in class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Returns the angle value in decimal degrees.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.Field.html#DEGREES">DEGREES</a></span> - Static variable in class <a href="org/apache/sis/measure/AngleFormat.Field.html" title="class in org.apache.sis.measure">AngleFormat.Field</a></dt>
<dd>
<div class="block">Identifies the degrees field, including the degrees symbol (if any).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#delegateTo(java.lang.Object)">delegateTo(Object)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Delegates the formatting to another <a href="org/apache/sis/io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt"><code>FormattableObject</code></a> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/DecimalFunctions.html#deltaForDoubleToDecimal(double)">deltaForDoubleToDecimal(double)</a></span> - Static method in class <a href="org/apache/sis/math/DecimalFunctions.html" title="class in org.apache.sis.math">DecimalFunctions</a></dt>
<dd>
<div class="block">Returns the difference between the given <code>double</code> value and the representation of that value in base 10.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/LinearTransform.html#deltaTransform(double%5B%5D,int,double%5B%5D,int,int)">deltaTransform(double[], int, double[], int, int)</a></span> - Method in interface <a href="org/apache/sis/referencing/operation/transform/LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></dt>
<dd>
<div class="block">Transforms an array of relative distance vectors.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#denominator">denominator</a></span> - Variable in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">The <var>b</var> term in the <var>a</var>/<var>b</var> fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html#DENORMALIZATION">DENORMALIZATION</a></span> - <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a></dt>
<dd>
<div class="block">Matrix for scaling Cartesian coordinates to the size of the planet, or any other linear operations needed
 after execution of a non-linear operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#denormalizeGeographicOutputs(double)">denormalizeGeographicOutputs(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Appends a denormalization step after the non-linear kernel, which will convert input coordinates
 in the two first dimensions from radians to degrees.</div>
</dd>
<dt><a href="org/apache/sis/util/Deprecable.html" title="interface in org.apache.sis.util"><span class="typeNameLink">Deprecable</span></a> - Interface in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Interface of classes for which deprecated instances may exist.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#DEPRECATED_KEY">DEPRECATED_KEY</a></span> - Static variable in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Key for the <code>"deprecated"</code> property to be given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#DEPRECATED_KEY">DEPRECATED_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Optional key which can be given to the <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#%3Cinit%3E(java.util.Map)">constructor</a>
 for specifying the object is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#depth()">depth()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns the depth of this name within the namespace hierarchy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#depth()">depth()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Indicates the number of levels specified by this name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#depth()">depth()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Returns the depth, which is always 1 for a local name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#DEPTH">DEPTH</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Depth measured below the Mean Sea Level (MSL) in metres.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html#derivative(double)">derivative(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></dt>
<dd>
<div class="block">Gets the derivative of this function at a value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html#derivative(java.awt.geom.Point2D)">derivative(Point2D)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></dt>
<dd>
<div class="block">Gets the derivative of this transform at a point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html#derivative(java.awt.geom.Point2D)">derivative(Point2D)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D.Inverse</a></dt>
<dd>
<div class="block">Gets the derivative of this transform at a point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#derivative(javax.measure.UnitConverter,double)">derivative(UnitConverter, double)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns the derivative of the given converter at the given value,
 or <code>NaN</code> if this method can not compute it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#derivative(org.opengis.geometry.DirectPosition)">derivative(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Gets the derivative of this transform at a point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#derivative(org.opengis.geometry.DirectPosition)">derivative(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Gets the derivative of this transform at a point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html#derivative(org.opengis.geometry.DirectPosition)">derivative(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></dt>
<dd>
<div class="block">Gets the derivative of this transform at a point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html#derivative(org.opengis.geometry.DirectPosition)">derivative(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D.Inverse</a></dt>
<dd>
<div class="block">Gets the derivative of this transform at a point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#derivative(org.opengis.geometry.DirectPosition)">derivative(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Computes the derivative at the given location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#derivative(org.opengis.geometry.DirectPosition)">derivative(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Gets the derivative of this transform at a point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#derivativeAndTransform(org.opengis.referencing.operation.MathTransform,double%5B%5D,int,double%5B%5D,int)">derivativeAndTransform(MathTransform, double[], int, double[], int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">A buckle method for calculating derivative and coordinate transformation in a single step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#derivativeInCell(double,double)">derivativeInCell(double, double)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Estimates the derivative at the given grid indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#derive()">derive()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns an object that can be used for creating a new grid geometry derived from this grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverters.html#derivedKeys(java.util.Map,org.apache.sis.util.ObjectConverter,java.lang.Class)">derivedKeys(Map&lt;SK, V&gt;, ObjectConverter&lt;SK, K&gt;, Class&lt;V&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/ObjectConverters.html" title="class in org.apache.sis.util">ObjectConverters</a></dt>
<dd>
<div class="block">Returns a map whose keys are derived <cite>on-the-fly</cite> from the given map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#derivedMap(java.util.Map,org.apache.sis.util.ObjectConverter,org.apache.sis.util.ObjectConverter)">derivedMap(Map&lt;SK, SV&gt;, ObjectConverter&lt;SK, K&gt;, ObjectConverter&lt;SV, V&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Returns a map whose keys and values are derived <cite>on-the-fly</cite> from the given map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverters.html#derivedMap(java.util.Map,org.apache.sis.util.ObjectConverter,org.apache.sis.util.ObjectConverter)">derivedMap(Map&lt;SK, SV&gt;, ObjectConverter&lt;SK, K&gt;, ObjectConverter&lt;SV, V&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/ObjectConverters.html" title="class in org.apache.sis.util">ObjectConverters</a></dt>
<dd>
<div class="block">Returns a map whose keys and values are derived <cite>on-the-fly</cite> from the given map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#derivedSet(java.util.Set,org.apache.sis.util.ObjectConverter)">derivedSet(Set&lt;S&gt;, ObjectConverter&lt;S, E&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Returns a set whose elements are derived <cite>on-the-fly</cite> from the given set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverters.html#derivedSet(java.util.Set,org.apache.sis.util.ObjectConverter)">derivedSet(Set&lt;S&gt;, ObjectConverter&lt;S, E&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/ObjectConverters.html" title="class in org.apache.sis.util">ObjectConverters</a></dt>
<dd>
<div class="block">Returns a set whose elements are derived <cite>on-the-fly</cite> from the given set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverters.html#derivedValues(java.util.Map,java.lang.Class,org.apache.sis.util.ObjectConverter)">derivedValues(Map&lt;K, SV&gt;, Class&lt;K&gt;, ObjectConverter&lt;SV, V&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/ObjectConverters.html" title="class in org.apache.sis.util">ObjectConverters</a></dt>
<dd>
<div class="block">Returns a map whose values are derived <cite>on-the-fly</cite> from the given map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html#DESCENDING">DESCENDING</a></span> - <a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">IterationStrategy</a></dt>
<dd>
<div class="block">Iterate over the points in descending index order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#DESCRIPTION_KEY">DESCRIPTION_KEY</a></span> - Static variable in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Key for the <code>"description"</code> property to be given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#DESCRIPTION_KEY">DESCRIPTION_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Key for the "description" property in the map to be given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#descriptor(java.lang.String)">descriptor(String)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Returns the first parameter in this group for the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#descriptors()">descriptors()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Returns all parameters in this group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#DESIGNATION">DESIGNATION</a></span> - <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Natural language designator for the property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#DESIGNATION_KEY">DESIGNATION_KEY</a></span> - Static variable in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Key for the <code>"designation"</code> property to be given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html#DETAILED">DETAILED</a></span> - <a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html" title="enum in org.apache.sis.parameter">ParameterFormat.ContentLevel</a></dt>
<dd>
<div class="block">The most detailed content, which includes
 <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getName()">name</a> and
 <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getAlias()">aliases</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#differences()">differences()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the statistics on the differences between sample values, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#DIFFERENTIAL">DIFFERENTIAL</a></span> - <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">Differential Global Positioning Service (DGPS) used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html#%3Cinit%3E(org.opengis.metadata.spatial.DimensionNameType,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">Dimension(DimensionNameType, String, String, String, String, String, String)</a></span> - Constructor for class <a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Dimension</a></dt>
<dd>
<div class="block">Creates a new set of attribute names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#directionAlongMeridian(org.opengis.referencing.cs.AxisDirection,double)">directionAlongMeridian(AxisDirection, double)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns an axis direction from a pole along a meridian.</div>
</dd>
<dt><a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">DirectPosition1D</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">A one-dimensional position within some coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#%3Cinit%3E()">DirectPosition1D()</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Constructs a position initialized to (0) with a <code>null</code>
 coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#%3Cinit%3E(double)">DirectPosition1D(double)</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Constructs a 1D position from the specified coordinate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#%3Cinit%3E(java.lang.CharSequence)">DirectPosition1D(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Constructs a position initialized to the values parsed from the given string in
 <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem)">DirectPosition1D(CoordinateReferenceSystem)</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Constructs a position with the specified coordinate reference system.</div>
</dd>
<dt><a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">DirectPosition2D</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">A two-dimensional position on top of Java2D point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#%3Cinit%3E()">DirectPosition2D()</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Constructs a position initialized to (0,0) with a <code>null</code> coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#%3Cinit%3E(double,double)">DirectPosition2D(double, double)</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Constructs a 2D position from the specified coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#%3Cinit%3E(java.lang.CharSequence)">DirectPosition2D(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Constructs a position initialized to the values parsed from the given string in
 <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#%3Cinit%3E(org.opengis.geometry.DirectPosition)">DirectPosition2D(DirectPosition)</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Constructs a position initialized to the same values than the specified point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem)">DirectPosition2D(CoordinateReferenceSystem)</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Constructs a position initialized to (0,0) with the specified coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem,double,double)">DirectPosition2D(CoordinateReferenceSystem, double, double)</a></span> - Constructor for class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Constructs a 2D position from the specified coordinates in the specified CRS.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/DisjointExtentException.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">DisjointExtentException</span></a> - Exception in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">Thrown when operations on a <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid"><code>GridGeometry</code></a> result in an area which
 does not intersect anymore the <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid"><code>GridExtent</code></a> of the <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid"><code>GridGeometry</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/DisjointExtentException.html#%3Cinit%3E()">DisjointExtentException()</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/DisjointExtentException.html" title="class in org.apache.sis.coverage.grid">DisjointExtentException</a></dt>
<dd>
<div class="block">Constructs an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/DisjointExtentException.html#%3Cinit%3E(java.lang.String)">DisjointExtentException(String)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/DisjointExtentException.html" title="class in org.apache.sis.coverage.grid">DisjointExtentException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/DisjointExtentException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">DisjointExtentException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/DisjointExtentException.html" title="class in org.apache.sis.coverage.grid">DisjointExtentException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxesConvention.html#DISPLAY_ORIENTED">DISPLAY_ORIENTED</a></span> - <a href="org/apache/sis/referencing/cs/AxesConvention.html" title="enum in org.apache.sis.referencing.cs">AxesConvention</a></dt>
<dd>
<div class="block">Axes are reordered and oriented toward directions commonly used for displaying purpose.</div>
</dd>
<dt><a href="org/apache/sis/util/Disposable.html" title="interface in org.apache.sis.util"><span class="typeNameLink">Disposable</span></a> - Interface in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">A resource that can be disposed when waiting for the garbage collector would be overly conservative.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Disposable.html#dispose()">dispose()</a></span> - Method in interface <a href="org/apache/sis/util/Disposable.html" title="interface in org.apache.sis.util">Disposable</a></dt>
<dd>
<div class="block">Allows any resources held by this object to be released.</div>
</dd>
<dt><a href="org/apache/sis/distance/DistanceUtils.html" title="class in org.apache.sis.distance"><span class="typeNameLink">DistanceUtils</span></a> - Class in <a href="org/apache/sis/distance/package-summary.html">org.apache.sis.distance</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing"><code>GeodeticCalculator</code></a>.
 See <a href="https://issues.apache.org/jira/browse/SIS-385">SIS-385</a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#divide(org.apache.sis.math.Fraction)">divide(Fraction)</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns the simplified result of dividing this fraction by the given fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#divisors(int)">divisors(int)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the divisors of the specified number as positive integers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/TransferType.html#DOUBLE">DOUBLE</a></span> - Static variable in class <a href="org/apache/sis/image/TransferType.html" title="class in org.apache.sis.image">TransferType</a></dt>
<dd>
<div class="block">Specifies that sample values are transfered as double-precision floating point number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#DOUBLE">DOUBLE</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 9 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#doubleValue()">doubleValue()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns the fraction as a double-precision floating point number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#doubleValue()">doubleValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns the scale value of this representative fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#doubleValue()">doubleValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns the numeric value of this parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#doubleValue(int)">doubleValue(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the value at the given index as a <code>double</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#doubleValue(javax.measure.Unit)">doubleValue(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns the numeric value of this parameter in the given unit of measure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#doubleValue(org.opengis.parameter.ParameterDescriptor)">doubleValue(ParameterDescriptor&lt;? extends Number&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the floating point value of the parameter identified by the given descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#doubleValueList()">doubleValueList()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns an ordered sequence of two or more numeric values of this parameter,
 where each value has the same associated unit of measure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#doubleValueList(javax.measure.Unit)">doubleValueList(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns an ordered sequence of numeric values in the specified unit of measure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#doubleValueList(org.opengis.parameter.ParameterDescriptor)">doubleValueList(ParameterDescriptor&lt;double[]&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the floating point values of the parameter identified by the given descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#doubleValues()">doubleValues()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Copies all values in an array of double precision floating point numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#DQC">DQC</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19157/-2/dqc/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#drX">drX</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Rate of change of X-axis rotation in milli arc-seconds per year (EPSG:1043),
 sign following the <cite>Position Vector</cite> convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#drY">drY</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Rate of change of Y-axis rotation in milli arc-seconds per year (EPSG:1044),
 sign following the <cite>Position Vector</cite> convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#drZ">drZ</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Rate of change of Z-axis rotation in milli arc-seconds per year (EPSG:1045),
 sign following the <cite>Position Vector</cite> convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#dS">dS</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">The scale difference in parts per million (EPSG:8611).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#dtX">dtX</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Rate of change of X-axis translation in millimetres per year (EPSG:1040).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#dtY">dtY</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Rate of change of Y-axis translation in millimetres per year (EPSG:1041).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#dtZ">dtZ</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Rate of change of Z-axis translation in millimetres per year (EPSG:1042).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#DUBLIN_JULIAN">DUBLIN_JULIAN</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Time measured as days since December 31, 1899 at 12:00 UTC.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#dx">dx</a></span> - Variable in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">The translation among the <var>x</var> axis relative to pixel center.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#dy">dy</a></span> - Variable in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">The translation among the <var>y</var> axis relative to pixel center.</div>
</dd>
</dl>
<a id="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/distance/DistanceUtils.html#EARTH_RADIUS">EARTH_RADIUS</a></span> - Static variable in class <a href="org/apache/sis/distance/DistanceUtils.html" title="class in org.apache.sis.distance">DistanceUtils</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#eccentricity">eccentricity</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Ellipsoid eccentricity, equals to <code>sqrt(<a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#eccentricitySquared">NormalizedProjection.eccentricitySquared</a>)</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#eccentricitySquared">eccentricitySquared</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">The square of eccentricity: ℯ² = (a²-b²)/a² where
 <var>ℯ</var> is the <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#eccentricity">eccentricity</a>,
 <var>a</var> is the <cite>semi-major</cite> axis length and
 <var>b</var> is the <cite>semi-minor</cite> axis length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#eccentricitySquared">eccentricitySquared</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">The square of eccentricity: ℯ² = (a²-b²)/a² where
 <var>a</var> is the <cite>semi-major</cite> axis length and
 <var>b</var> is the <cite>semi-minor</cite> axis length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#ED50">ED50</a></span> - <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">European Datum 1950.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.State.html#EDITABLE">EDITABLE</a></span> - <a href="org/apache/sis/metadata/ModifiableMetadata.State.html" title="enum in org.apache.sis.metadata">ModifiableMetadata.State</a></dt>
<dd>
<div class="block">The metadata is modifiable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/TypeValuePolicy.html#ELEMENT_TYPE">ELEMENT_TYPE</a></span> - <a href="org/apache/sis/metadata/TypeValuePolicy.html" title="enum in org.apache.sis.metadata">TypeValuePolicy</a></dt>
<dd>
<div class="block">The specialized type of a property, or type of elements if the property is a collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#elementFormat">elementFormat</a></span> - Variable in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">The format to use for parsing and formatting the range components.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt"><span class="typeNameLink">ElementKind</span></a> - Enum in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Kind of an element in a <cite>Well Known Text</cite>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#elementType">elementType</a></span> - Variable in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">The type of the range components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#elementType">elementType</a></span> - Variable in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">The type of elements in the ranges.</div>
</dd>
<dt><a href="org/apache/sis/measure/ElevationAngle.html" title="class in org.apache.sis.measure"><span class="typeNameLink">ElevationAngle</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">The angular height of an object measured from the horizontal plane.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/ElevationAngle.html#%3Cinit%3E(double)">ElevationAngle(double)</a></span> - Constructor for class <a href="org/apache/sis/measure/ElevationAngle.html" title="class in org.apache.sis.measure">ElevationAngle</a></dt>
<dd>
<div class="block">Constructs a new elevation angle with the specified angular value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/ElevationAngle.html#%3Cinit%3E(java.lang.String)">ElevationAngle(String)</a></span> - Constructor for class <a href="org/apache/sis/measure/ElevationAngle.html" title="class in org.apache.sis.measure">ElevationAngle</a></dt>
<dd>
<div class="block">Constructs a newly allocated <code>ElevationAngle</code> object that contain the angular value
 represented by the string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#ellipsoid()">ellipsoid()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the ellipsoid associated to this geodetic object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#ELLIPSOIDAL">ELLIPSOIDAL</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Height measured along the normal to the ellipsoid used in the definition of horizontal datum.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">EllipsoidToCentricTransform</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Transform from two- or three- dimensional ellipsoidal coordinates to (geo)centric coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#%3Cinit%3E(double,double,javax.measure.Unit,boolean,org.apache.sis.referencing.operation.transform.EllipsoidToCentricTransform.TargetType)">EllipsoidToCentricTransform(double, double, Unit&lt;Length&gt;, boolean, EllipsoidToCentricTransform.TargetType)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Creates a transform from angles in radians on ellipsoid having a semi-major axis length of 1.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.TargetType.html" title="enum in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">EllipsoidToCentricTransform.TargetType</span></a> - Enum in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Whether the output coordinate system is Cartesian or Spherical.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#EMAIL">EMAIL</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Responsible</a></dt>
<dd>
<div class="block">The attribute name for the responsible's email address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Show.html#EMBED">EMBED</a></span> - <a href="org/apache/sis/xml/XLink.Show.html" title="enum in org.apache.sis.xml">XLink.Show</a></dt>
<dd>
<div class="block">Load ending resource in place of the presentation of the starting resource.</div>
</dd>
<dt><a href="org/apache/sis/util/Emptiable.html" title="interface in org.apache.sis.util"><span class="typeNameLink">Emptiable</span></a> - Interface in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Interface of classes for which empty instances may exist.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#EMPTY_ARRAY">EMPTY_ARRAY</a></span> - Static variable in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">An array of zero-length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#EMPTY_BOOLEAN">EMPTY_BOOLEAN</a></span> - Static variable in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">An empty array of <code>boolean</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#EMPTY_BYTE">EMPTY_BYTE</a></span> - Static variable in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">An empty array of <code>byte</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#EMPTY_CHAR">EMPTY_CHAR</a></span> - Static variable in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">An empty array of <code>char</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#EMPTY_DOUBLE">EMPTY_DOUBLE</a></span> - Static variable in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">An empty array of <code>double</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#EMPTY_FLOAT">EMPTY_FLOAT</a></span> - Static variable in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">An empty array of <code>float</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#EMPTY_INT">EMPTY_INT</a></span> - Static variable in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">An empty array of <code>int</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#EMPTY_LONG">EMPTY_LONG</a></span> - Static variable in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">An empty array of <code>long</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#EMPTY_SHORT">EMPTY_SHORT</a></span> - Static variable in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">An empty array of <code>short</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridRoundingMode.html#ENCLOSING">ENCLOSING</a></span> - <a href="org/apache/sis/coverage/grid/GridRoundingMode.html" title="enum in org.apache.sis.coverage.grid">GridRoundingMode</a></dt>
<dd>
<div class="block">Converts grid low and high to values that fully encloses the envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html#encode(double,double)">encode(double, double)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Encodes the given latitude and longitude into a geohash.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html#encode(org.opengis.geometry.DirectPosition)">encode(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Encodes the given position into a geohash.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#encode(org.opengis.geometry.DirectPosition)">encode(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Encodes the given position into a MGRS reference.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#encode(org.opengis.geometry.Envelope)">encode(Envelope)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Returns an iterator over all MGRS references that intersect the given envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#encode(org.opengis.geometry.Envelope,boolean)">encode(Envelope, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Returns a stream of all MGRS references that intersect the given envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#ENCODING">ENCODING</a></span> - Static variable in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">The character encoding of document content.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#endsWith(java.lang.CharSequence,java.lang.CharSequence,boolean)">endsWith(CharSequence, CharSequence, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given character sequence ends with the given suffix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#ensureAngular(javax.measure.Unit)">ensureAngular(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Makes sure that the specified unit is either null or an angular unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureBetween(java.lang.String,double,double,double)">ensureBetween(String, double, double, double)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given floating point value is between the given bounds, inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureBetween(java.lang.String,float,float,float)">ensureBetween(String, float, float, float)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given floating point value is between the given bounds, inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureBetween(java.lang.String,int,int,int)">ensureBetween(String, int, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given integer value is between the given bounds, inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureBetween(java.lang.String,long,long,long)">ensureBetween(String, long, long, long)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given long value is between the given bounds, inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureCanCast(java.lang.String,java.lang.Class,java.lang.Object)">ensureCanCast(String, Class&lt;?&gt;, Object)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the specified value is null or an instance assignable to the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureDimensionMatches(java.lang.String,int,double%5B%5D)">ensureDimensionMatches(String, int, double[])</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given vector, if non-null, has the expected number of dimensions
 (taken as its length).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureDimensionMatches(java.lang.String,int,int%5B%5D)">ensureDimensionMatches(String, int, int[])</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given array of indices, if non-null, has the expected number of dimensions
 (taken as its length).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureDimensionMatches(java.lang.String,int,org.opengis.geometry.DirectPosition)">ensureDimensionMatches(String, int, DirectPosition)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given direct position, if non-null, has the expected number of dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureDimensionMatches(java.lang.String,int,org.opengis.geometry.Envelope)">ensureDimensionMatches(String, int, Envelope)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given envelope, if non-null, has the expected number of dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureDimensionMatches(java.lang.String,int,org.opengis.referencing.crs.CoordinateReferenceSystem)">ensureDimensionMatches(String, int, CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given CRS, if non-null, has the expected number of dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureDimensionMatches(java.lang.String,int,org.opengis.referencing.cs.CoordinateSystem)">ensureDimensionMatches(String, int, CoordinateSystem)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given coordinate system, if non-null, has the expected number of dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureExpectedCount(java.lang.String,int,int)">ensureExpectedCount(String, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that a method receiving a variable number of arguments got the expected count.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureFinite(java.lang.String,double)">ensureFinite(String, double)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given floating point value is not
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#isNaN(double)" title="class or interface in java.lang" class="externalLink">NaN</a> neither <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#isInfinite(double)" title="class or interface in java.lang" class="externalLink">Double.isInfinite(double)</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureFinite(java.lang.String,float)">ensureFinite(String, float)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given floating point value is not
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#isNaN(float)" title="class or interface in java.lang" class="externalLink">NaN</a> neither <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#isInfinite(float)" title="class or interface in java.lang" class="externalLink">Float.isInfinite(float)</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#ensureLinear(javax.measure.Unit)">ensureLinear(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Makes sure that the specified unit is either null or a linear unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureNonEmpty(java.lang.String,int%5B%5D,int,int,boolean)">ensureNonEmpty(String, int[], int, int, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given <code>values</code> array is non-null and non-empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureNonEmpty(java.lang.String,java.lang.CharSequence)">ensureNonEmpty(String, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Makes sure that a character sequence is non-null and non-empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureNonEmpty(java.lang.String,java.lang.Object%5B%5D)">ensureNonEmpty(String, Object[])</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Makes sure that an array is non-null and non-empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureNonNull(java.lang.String,java.lang.Object)">ensureNonNull(String, Object)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Makes sure that an argument is non-null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureNonNullElement(java.lang.String,int,java.lang.Object)">ensureNonNullElement(String, int, Object)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Makes sure that an array element is non-null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensurePositive(java.lang.String,double)">ensurePositive(String, double)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given floating point value is not
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#isNaN(double)" title="class or interface in java.lang" class="externalLink">NaN</a> and is greater than or equals to zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensurePositive(java.lang.String,float)">ensurePositive(String, float)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given floating point value is not
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#isNaN(float)" title="class or interface in java.lang" class="externalLink">NaN</a> and is greater than or equals to zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensurePositive(java.lang.String,int)">ensurePositive(String, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given integer value is greater than or equals to zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensurePositive(java.lang.String,long)">ensurePositive(String, long)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given long value is greater than or equals to zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#ensureScale(javax.measure.Unit)">ensureScale(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Makes sure that the specified unit is either null or a scale unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureSizeBetween(java.lang.String,int,int,int)">ensureSizeBetween(String, int, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given collection size or array length is between the given bounds, inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureStrictlyPositive(java.lang.String,double)">ensureStrictlyPositive(String, double)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given floating point value is not
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#isNaN(double)" title="class or interface in java.lang" class="externalLink">NaN</a> and is greater than zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureStrictlyPositive(java.lang.String,float)">ensureStrictlyPositive(String, float)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given floating point value is not
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#isNaN(float)" title="class or interface in java.lang" class="externalLink">NaN</a> and is greater than zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureStrictlyPositive(java.lang.String,int)">ensureStrictlyPositive(String, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given integer value is greater than zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureStrictlyPositive(java.lang.String,long)">ensureStrictlyPositive(String, long)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given long value is greater than zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#ensureTemporal(javax.measure.Unit)">ensureTemporal(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Makes sure that the specified unit is either null or a temporal unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureValidIndex(int,int)">ensureValidIndex(int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given index is equals or greater than zero and lower than the given
 upper value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureValidIndexRange(int,int,int)">ensureValidIndexRange(int, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given index range is valid for a sequence of the given length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArgumentChecks.html#ensureValidUnicodeCodePoint(java.lang.String,int)">ensureValidUnicodeCodePoint(String, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArgumentChecks.html" title="class in org.apache.sis.util">ArgumentChecks</a></dt>
<dd>
<div class="block">Ensures that the given integer is a valid Unicode code point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#entering(java.lang.String,java.lang.String)">entering(String, String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a method entry to the <a href="org/apache/sis/util/logging/LoggerAdapter.html#getDebugLevel()">debug level</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#entering(java.lang.String,java.lang.String,java.lang.Object)">entering(String, String, Object)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a method entry to the <a href="org/apache/sis/util/logging/LoggerAdapter.html#getDebugLevel()">debug level</a> with one parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#entering(java.lang.String,java.lang.String,java.lang.Object%5B%5D)">entering(String, String, Object[])</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a method entry to the <a href="org/apache/sis/util/logging/LoggerAdapter.html#getDebugLevel()">debug level</a> with many parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#entrySet()">entrySet()</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns the set of entries in this cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#entrySet()">entrySet()</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Returns a set view of the mappings contained in this map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#envelope">envelope</a></span> - Variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">The geodetic envelope, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureOperations.html#envelope(java.util.Map,org.opengis.referencing.crs.CoordinateReferenceSystem,org.apache.sis.feature.AbstractIdentifiedType...)">envelope(Map&lt;String, ?&gt;, CoordinateReferenceSystem, AbstractIdentifiedType...)</a></span> - Static method in class <a href="org/apache/sis/feature/FeatureOperations.html" title="class in org.apache.sis.feature">FeatureOperations</a></dt>
<dd>
<div class="block">Creates an operation computing the envelope that encompass all geometries found in the given attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#ENVELOPE">ENVELOPE</a></span> - Static variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">A bitmask to specify the validity of the geodetic envelope property.</div>
</dd>
<dt><a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">Envelope2D</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">A two-dimensional envelope on top of Java2D rectangle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#%3Cinit%3E()">Envelope2D()</a></span> - Constructor for class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Constructs an initially empty envelope with no CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#%3Cinit%3E(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)">Envelope2D(DirectPosition, DirectPosition)</a></span> - Constructor for class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Constructs a two-dimensional envelope defined by the specified coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#%3Cinit%3E(org.opengis.geometry.Envelope)">Envelope2D(Envelope)</a></span> - Constructor for class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Constructs a two-dimensional envelope defined by an other <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/Envelope.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink"><code>Envelope</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#%3Cinit%3E(org.opengis.metadata.extent.GeographicBoundingBox)">Envelope2D(GeographicBoundingBox)</a></span> - Constructor for class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Constructs a new envelope with the same data than the specified geographic bounding box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem,double,double,double,double)">Envelope2D(CoordinateReferenceSystem, double, double, double, double)</a></span> - Constructor for class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Constructs two-dimensional envelope defined by the specified coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem,java.awt.geom.Rectangle2D)">Envelope2D(CoordinateReferenceSystem, Rectangle2D)</a></span> - Constructor for class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Constructs two-dimensional envelope defined by an other <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/geom/Rectangle2D.html?is-external=true" title="class or interface in java.awt.geom" class="externalLink"><code>Rectangle2D</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">Envelopes</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">Transforms envelopes to new Coordinate Reference Systems, and miscellaneous utilities.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#EPSG">EPSG</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The authority for identifiers of objects defined by the
 <a href="http://www.epsg.org">EPSG Geodetic Parameter Dataset</a>.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql"><span class="typeNameLink">EPSGDataAccess</span></a> - Class in <a href="org/apache/sis/referencing/factory/sql/package-summary.html">org.apache.sis.referencing.factory.sql</a></dt>
<dd>
<div class="block"><cite>Data Access Object</cite> (DAO) creating geodetic objects from a JDBC connection to an EPSG database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#%3Cinit%3E(org.apache.sis.referencing.factory.sql.EPSGFactory,java.sql.Connection,org.apache.sis.referencing.factory.sql.SQLTranslator)">EPSGDataAccess(EPSGFactory, Connection, SQLTranslator)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Creates a factory using the given connection.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql"><span class="typeNameLink">EPSGFactory</span></a> - Class in <a href="org/apache/sis/referencing/factory/sql/package-summary.html">org.apache.sis.referencing.factory.sql</a></dt>
<dd>
<div class="block">A geodetic object factory backed by the EPSG database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#%3Cinit%3E(java.util.Map)">EPSGFactory(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">Creates a factory using the given configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#epsilonEqual(double,double,double)">epsilonEqual(double, double, double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given values are <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equal</a>
 or if their difference is not greater than the given threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#epsilonEqual(float,float,float)">epsilonEqual(float, float, float)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given values are <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equal</a>
 or if their difference is not greater than the given threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#equalityLevel(java.lang.Object,java.lang.Object)">equalityLevel(Object, Object)</a></span> - Static method in enum <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">If the two given objects are equal according one of the modes enumerated in this class,
 then returns that mode.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#equals(java.lang.CharSequence,java.lang.CharSequence)">equals(CharSequence, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the two given texts are equal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Compares the specified object with this category for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Compares the specified object with this grid envelope for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Compares the specified object with this grid geometry for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Compares the specified object with this sample dimension for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Compares this feature with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Compares this type with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractOperation.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></dt>
<dd>
<div class="block">Compares this operation with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Compares this association role with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Compares this attribute type with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Compares this feature type with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified object is also a <code>DirectPosition</code>
 with equal coordinates and equal CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified object is an envelope of the same class
 with equals coordinates and <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/Envelope.html?is-external=true#getCoordinateReferenceSystem()" title="class or interface in org.opengis.geometry" class="externalLink">CRS</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Compares this point with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Compares the specified object with this envelope for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified object is also a <code>DirectPosition</code>
 with equal coordinates and equal CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">Compares this <code>Colors</code> with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Compares this <code>Symbols</code> with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Compares this fraction with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Compares this line with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Compares this plane with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Compares this statistics with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given object is a vector containing the same values than this vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Compares the specified object with this angle for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Compares this format with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Compares this measurement range with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Compares this range with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Performs a <a href="org/apache/sis/util/ComparisonMode.html#STRICT">strict</a> comparison of this metadata with
 the given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Compares this object with the specified value for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html" title="class in org.apache.sis.metadata.iso.maintenance">LegacyFeatureType</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Compares the specified object with this parameter for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Compares the specified object with this parameter for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Compares this object with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Compares the specified object with this object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Compares the specified object with this object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given object is a grid containing the same data than this grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Compares the specified object with this object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Compares this object with the given one for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Compares this identifier with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Compares this formula with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified object is of type <code>Matrix1</code> and
 all of the data members are equal to the corresponding data members in this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified object is of type <code>Matrix2</code> and
 all of the data members are equal to the corresponding data members in this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified object is of the same class than this matrix and
 all of the data members are equal to the corresponding data members in this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Compares the specified object with this math transform for strict equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Compares the given object with the parameters for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given object is an instance of the same class having the same name and type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">Compares this <code>ProbeResult</code> with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Compares the given object with this tree table for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Compares the given object with this node for <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getValue(org.apache.sis.util.collection.TableColumn)">values</a>
 and <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getChildren()">children</a> equality, ignoring the <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getParent()">parent</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Compares the specified object with this set of ranges for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given object is a node with the same content than this node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Compares this generic name with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Compares this international string with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Compares this local name with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultMemberName.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultMemberName.html" title="class in org.apache.sis.util.iso">DefaultMemberName</a></dt>
<dd>
<div class="block">Compares this member name with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameSpace.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">DefaultNameSpace</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this namespace is equal to the given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Compares this record with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Compares the given object with this <code>RecordType</code> for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/ResourceInternationalString.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/ResourceInternationalString.html" title="class in org.apache.sis.util.iso">ResourceInternationalString</a></dt>
<dd>
<div class="block">Compares this international string with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/SimpleInternationalString.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/SimpleInternationalString.html" title="class in org.apache.sis.util.iso">SimpleInternationalString</a></dt>
<dd>
<div class="block">Compares this international string with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/LenientComparable.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in interface <a href="org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this object is strictly equals to the given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Compare this version string with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">Compares this <code>NilReason</code> with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Compares this <code>XLink</code> with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#equals(java.lang.Object,java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Compares the two specified metadata objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Compares this metadata with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Compares this geographic bounding box with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">Compares the specified object with this parameter for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Compares the specified object with this parameter for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Compares the specified object with this parameter group for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Compares the specified object with this parameter for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Compares the specified object with this parameter for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Compares this object with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractReferenceSystem.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractReferenceSystem.html" title="class in org.apache.sis.referencing">AbstractReferenceSystem</a></dt>
<dd>
<div class="block">Compares this reference system with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Compares this coordinate reference system with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Compares this coordinate reference system with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Compares this coordinate reference system with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Compares this coordinate reference system with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Compares the specified object with this coordinate system for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html" title="class in org.apache.sis.referencing.cs">DefaultCompoundCS</a></dt>
<dd>
<div class="block">Compares this coordinate system with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Compares the specified object with this axis for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Compares the specified object with this datum for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Compares this ellipsoid with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Compare this datum with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum">DefaultImageDatum</a></dt>
<dd>
<div class="block">Compares this datum with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Compares this prime meridian with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultTemporalDatum</a></dt>
<dd>
<div class="block">Compares this temporal datum with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultVerticalDatum</a></dt>
<dd>
<div class="block">Compare this vertical datum with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Compares this reference system with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Compares this coordinate operation with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Compares this operation method with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Compares this concatenated operation with the specified object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Compares this matrix with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Compares the given object with this transform for equivalence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html" title="class in org.apache.sis.referencing.operation.projection">ZonedGridSystem</a></dt>
<dd>
<div class="block">Compares the given object with this transform for equivalence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Compares the specified object with this math transform for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Compares the specified object with this inverse math transform for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html" title="class in org.apache.sis.referencing.operation.transform">DatumShiftTransform</a></dt>
<dd>
<div class="block">Compares the specified object with this math transform for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Compares the specified object with this math transform for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Compares the specified object with this math transform for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Compares the specified object with this math transform for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/LenientComparable.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals(Object, ComparisonMode)</a></span> - Method in interface <a href="org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a></dt>
<dd>
<div class="block">Compares this object with the given object for equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#equals(org.opengis.geometry.Envelope,double,boolean)">equals(Envelope, double, boolean)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Compares to the specified envelope for equality up to the specified tolerance value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#equals(org.opengis.referencing.operation.Matrix,double)">equals(Matrix, double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Compares the given matrices for equality, using the given absolute tolerance threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#equals(org.opengis.referencing.operation.Matrix,org.opengis.referencing.operation.Matrix,double,boolean)">equals(Matrix, Matrix, double, boolean)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Compares the given matrices for equality, using the given relative or absolute tolerance threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#equals(org.opengis.referencing.operation.Matrix,org.opengis.referencing.operation.Matrix,org.apache.sis.util.ComparisonMode)">equals(Matrix, Matrix, ComparisonMode)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Compares the given matrices for equality, using the given comparison strictness level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Utilities.html#equalsApproximately(java.lang.Object,java.lang.Object)">equalsApproximately(Object, Object)</a></span> - Static method in class <a href="org/apache/sis/util/Utilities.html" title="class in org.apache.sis.util">Utilities</a></dt>
<dd>
<div class="block">Compares the specified objects for equality, ignoring metadata and slight differences
 in numerical values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Utilities.html#equalsApproximatively(java.lang.Object,java.lang.Object)">equalsApproximatively(Object, Object)</a></span> - Static method in class <a href="org/apache/sis/util/Utilities.html" title="class in org.apache.sis.util">Utilities</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/util/Utilities.html#equalsApproximately(java.lang.Object,java.lang.Object)"><code>Utilities.equalsApproximately(Object, Object)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#equalsFiltered(java.lang.CharSequence,java.lang.CharSequence,org.apache.sis.util.Characters.Filter,boolean)">equalsFiltered(CharSequence, CharSequence, Characters.Filter, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given texts are equal, optionally ignoring case and filtered-out characters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#equalsIgnoreCase(java.lang.CharSequence,java.lang.CharSequence)">equalsIgnoreCase(CharSequence, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the two given texts are equal, ignoring case.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Utilities.html#equalsIgnoreMetadata(java.lang.Object,java.lang.Object)">equalsIgnoreMetadata(Object, Object)</a></span> - Static method in class <a href="org/apache/sis/util/Utilities.html" title="class in org.apache.sis.util">Utilities</a></dt>
<dd>
<div class="block">Compares the specified objects for equality, ignoring metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/DecimalFunctions.html#equalsIgnoreMissingFractionDigits(double,double)">equalsIgnoreMissingFractionDigits(double, double)</a></span> - Static method in class <a href="org/apache/sis/math/DecimalFunctions.html" title="class in org.apache.sis.math">DecimalFunctions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given numbers or equal or differ only by <code>accurate</code>
 having more non-zero trailing decimal fraction digits than <code>approximate</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#error(org.opengis.referencing.operation.MathTransform)">error(MathTransform)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns statistics of differences between values calculated by the given transform and actual values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#ERROR">ERROR</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Unformattable elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/GeometryLibrary.html#ESRI">ESRI</a></span> - <a href="org/apache/sis/setup/GeometryLibrary.html" title="enum in org.apache.sis.setup">GeometryLibrary</a></dt>
<dd>
<div class="block">The ESRI geometry API library.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#ESRI">ESRI</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The authority for identifiers of objects defined by <a href="http://www.esri.com">ESRI</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#ETRS89">ETRS89</a></span> - <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">European Terrestrial Reference System 1989.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListener.html#eventOccured(T)">eventOccured(T)</a></span> - Method in interface <a href="org/apache/sis/storage/event/StoreListener.html" title="interface in org.apache.sis.storage.event">StoreListener</a></dt>
<dd>
<div class="block">Invoked <em>after</em> a warning or a change occurred in a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#exceptionOccured(org.apache.sis.xml.MarshalContext,T,java.lang.Class,java.lang.Class,java.lang.Exception)">exceptionOccured(MarshalContext, T, Class&lt;T&gt;, Class&lt;?&gt;, Exception)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Invoked when an exception occurred in any <code>toXXX(…)</code> method.</div>
</dd>
<dt><a href="org/apache/sis/util/Exceptions.html" title="class in org.apache.sis.util"><span class="typeNameLink">Exceptions</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods working with <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Exception</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#exitCodeFor(java.lang.Throwable)">exitCodeFor(Throwable)</a></span> - Static method in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">Returns the exit code for the given exception, or 0 if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#exiting(java.lang.String,java.lang.String)">exiting(String, String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a method return to the <a href="org/apache/sis/util/logging/LoggerAdapter.html#getDebugLevel()">debug level</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#exiting(java.lang.String,java.lang.String,java.lang.Object)">exiting(String, String, Object)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a method return to the <a href="org/apache/sis/util/logging/LoggerAdapter.html#getDebugLevel()">debug level</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#expand(long...)">expand(long...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Expands or shrinks this grid extent by the given amount of cells along each dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#EXTENDED">EXTENDED</a></span> - <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">An extended, possibly multi-resource, link.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#extent">extent</a></span> - Variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">The valid domain of a grid coverage, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#EXTENT">EXTENT</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">CRS, datum or operation <a href="org/apache/sis/referencing/AbstractReferenceSystem.html#getDomainOfValidity()">domain of validity</a>, often represented by <code>AREA[…]</code> or <code>BBOX[…]</code> elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#EXTENT">EXTENT</a></span> - Static variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">A bitmask to specify the validity of the grid extent property.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent"><span class="typeNameLink">Extents</span></a> - Class in <a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a></dt>
<dd>
<div class="block">Convenience static methods for extracting information from <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/Extent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink"><code>Extent</code></a> objects.</div>
</dd>
</dl>
<a id="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#factory">factory</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">The factory to use for creating objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#factory">factory</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">The factory to use for creating <code>IdentifiedObject</code>s when first needed.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/FactoryDataException.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">FactoryDataException</span></a> - Exception in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Thrown when a factory contains invalid data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/FactoryDataException.html#%3Cinit%3E()">FactoryDataException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/FactoryDataException.html" title="class in org.apache.sis.referencing.factory">FactoryDataException</a></dt>
<dd>
<div class="block">Construct an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/FactoryDataException.html#%3Cinit%3E(java.lang.String)">FactoryDataException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/FactoryDataException.html" title="class in org.apache.sis.referencing.factory">FactoryDataException</a></dt>
<dd>
<div class="block">Construct an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/FactoryDataException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">FactoryDataException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/FactoryDataException.html" title="class in org.apache.sis.referencing.factory">FactoryDataException</a></dt>
<dd>
<div class="block">Construct an exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#FAHRENHEIT">FAHRENHEIT</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 1.8 degree Celsius plus 32.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#FALSE_EASTING">FALSE_EASTING</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the <cite>false easting</cite> parameter (symbol: <var>FE</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#FALSE_NORTHING">FALSE_NORTHING</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the <cite>false northing</cite> parameter (symbol: <var>FN</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#FALSE_SOUTHING">FALSE_SOUTHING</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the <cite>false southing</cite> parameter (symbol: <var>FS</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#FALSE_WESTING">FALSE_WESTING</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the <cite>false westing</cite> parameter (symbol: <var>FW</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#FARAD">FARAD</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for electric capacitance (F).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#FCC">FCC</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19110/fcc/1.0"</code> URL.</div>
</dd>
<dt><a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature"><span class="typeNameLink">FeatureFormat</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Formats <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">features</a> or <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">feature types</a> in a tabular format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#%3Cinit%3E()">FeatureFormat()</a></span> - Constructor for class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Creates a new formatter for the default locale and timezone.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">FeatureFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Creates a new formatter for the given locale and timezone.</div>
</dd>
<dt><a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature"><span class="typeNameLink">FeatureFormat.Column</span></a> - Enum in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Identifies the columns to include in the table formatted by <code>FeatureFormat</code>.</div>
</dd>
<dt><a href="org/apache/sis/storage/FeatureNaming.html" title="class in org.apache.sis.storage"><span class="typeNameLink">FeatureNaming</span></a>&lt;<a href="org/apache/sis/storage/FeatureNaming.html" title="type parameter in FeatureNaming">E</a>&gt; - Class in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Helper class for mapping <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"><code>GenericName</code></a> instances and their shortened names to features.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/FeatureNaming.html#%3Cinit%3E()">FeatureNaming()</a></span> - Constructor for class <a href="org/apache/sis/storage/FeatureNaming.html" title="class in org.apache.sis.storage">FeatureNaming</a></dt>
<dd>
<div class="block">Creates a new "<code>GenericName</code> to object" mapping.</div>
</dd>
<dt><a href="org/apache/sis/feature/FeatureOperations.html" title="class in org.apache.sis.feature"><span class="typeNameLink">FeatureOperations</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">A set of pre-defined operations expecting a <code>Feature</code> as input and producing an <code>Attribute</code> as output.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/FeatureSet.html#features(boolean)">features(boolean)</a></span> - Method in interface <a href="org/apache/sis/storage/FeatureSet.html" title="interface in org.apache.sis.storage">FeatureSet</a></dt>
<dd>
<div class="block">Returns a stream of all features contained in this dataset.</div>
</dd>
<dt><a href="org/apache/sis/feature/Features.html" title="class in org.apache.sis.feature"><span class="typeNameLink">Features</span></a> - Class in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Static methods working on features or attributes.</div>
</dd>
<dt><a href="org/apache/sis/storage/FeatureSet.html" title="interface in org.apache.sis.storage"><span class="typeNameLink">FeatureSet</span></a> - Interface in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">A dataset providing access to a stream of features.</div>
</dd>
<dt><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder"><span class="typeNameLink">FeatureTypeBuilder</span></a> - Class in <a href="org/apache/sis/feature/builder/package-summary.html">org.apache.sis.feature.builder</a></dt>
<dd>
<div class="block">Helper class for the creation of <code>FeatureType</code> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#%3Cinit%3E()">FeatureTypeBuilder()</a></span> - Constructor for class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance using the default name factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#%3Cinit%3E(org.apache.sis.feature.DefaultFeatureType)">FeatureTypeBuilder(DefaultFeatureType)</a></span> - Constructor for class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance using the given feature type as a template.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#%3Cinit%3E(org.opengis.util.NameFactory,org.apache.sis.setup.GeometryLibrary,java.util.Locale)">FeatureTypeBuilder(NameFactory, GeometryLibrary, Locale)</a></span> - Constructor for class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance using the given name factory, geometry library
 and locale for formatting error messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#fill(int)">fill(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Fills the list with the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#fillCharacter">fillCharacter</a></span> - Variable in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">The character to repeat after the content of a cell for alignment with the next column.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Transliterator.html#filter(java.lang.String)">filter(String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></dt>
<dd>
<div class="block">Returns a character sequences with the non-ASCII characters replaced or removed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#filterSourceDimensions(org.opengis.referencing.operation.MathTransform,int%5B%5D)">filterSourceDimensions(MathTransform, int[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Creates a transform for the same mathematic than the given <code>step</code>
 but expecting only the given dimensions as inputs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#filterTargetDimensions(org.opengis.referencing.operation.MathTransform,int%5B%5D)">filterTargetDimensions(MathTransform, int[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Creates a transform for the same mathematic than the given <code>step</code>
 but producing only the given dimensions as outputs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.State.html#FINAL">FINAL</a></span> - <a href="org/apache/sis/metadata/ModifiableMetadata.State.html" title="enum in org.apache.sis.metadata">ModifiableMetadata.State</a></dt>
<dd>
<div class="block">The metadata is unmodifiable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverters.html#find(java.lang.Class,java.lang.Class)">find(Class&lt;S&gt;, Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/ObjectConverters.html" title="class in org.apache.sis.util">ObjectConverters</a></dt>
<dd>
<div class="block">Returns a converter for the specified source and target classes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#find(org.opengis.referencing.IdentifiedObject)">find(IdentifiedObject)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">Lookups objects which are approximately equal to the specified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#findCommonClass(java.lang.Class,java.lang.Class)">findCommonClass(Class&lt;?&gt;, Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the most specific class which <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true#isAssignableFrom(java.lang.Class)" title="class or interface in java.lang" class="externalLink">is assignable from</a>
 the given classes or a parent of those classes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#findCommonClass(java.lang.Iterable)">findCommonClass(Iterable&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the most specific class which <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true#isAssignableFrom(java.lang.Class)" title="class or interface in java.lang" class="externalLink">is assignable from</a>
 the type of all given objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#findCommonInterfaces(java.lang.Class,java.lang.Class)">findCommonInterfaces(Class&lt;?&gt;, Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the interfaces which are implemented by the two given classes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/Features.html#findCommonParent(java.lang.Iterable)">findCommonParent(Iterable&lt;? extends DefaultFeatureType&gt;)</a></span> - Static method in class <a href="org/apache/sis/feature/Features.html" title="class in org.apache.sis.feature">Features</a></dt>
<dd>
<div class="block">Finds a feature type common to all given types, or returns <code>null</code> if none is found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#findOperation(org.opengis.geometry.Envelope,org.opengis.geometry.Envelope)">findOperation(Envelope, Envelope)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Finds a mathematical operation from the CRS of the given source envelope to the CRS of the given target envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#findOperation(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.metadata.extent.GeographicBoundingBox)">findOperation(CoordinateReferenceSystem, CoordinateReferenceSystem, GeographicBoundingBox)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Finds a mathematical operation that transforms or converts coordinates from the given source to the
 given target coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#findOperations(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.metadata.extent.GeographicBoundingBox)">findOperations(CoordinateReferenceSystem, CoordinateReferenceSystem, GeographicBoundingBox)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Finds mathematical operations that transform or convert coordinates from the given source to the
 given target coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#findResource(java.lang.String)">findResource(String)</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Searches for a resource identified by the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html#findResource(java.lang.String)">findResource(String)</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStore</a></dt>
<dd>
<div class="block">Returns the image at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStore.html#findResource(java.lang.String)">findResource(String)</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql">SQLStore</a></dt>
<dd>
<div class="block">Searches for a resource identified by the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#findSingleton(org.opengis.referencing.IdentifiedObject)">findSingleton(IdentifiedObject)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">Lookups only one object which is approximately equal to the specified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#findSpecializedClass(java.lang.Iterable)">findSpecializedClass(Iterable&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the most specific class implemented by the objects in the given collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#fine(java.lang.String)">fine(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Level.html?is-external=true#FINE" title="class or interface in java.util.logging" class="externalLink"><code>FINE</code></a> message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#finer(java.lang.String)">finer(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Level.html?is-external=true#FINER" title="class or interface in java.util.logging" class="externalLink"><code>FINER</code></a> message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#finest(java.lang.String)">finest(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Level.html?is-external=true#FINEST" title="class or interface in java.util.logging" class="externalLink"><code>FINEST</code></a> message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html#FINISH">FINISH</a></span> - Static variable in class <a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html" title="class in org.apache.sis.referencing.factory.sql">InstallationScriptProvider</a></dt>
<dd>
<div class="block">A sentinel value for the content of the script to execute after the SQL scripts provided by the authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#fire(T,java.lang.Class)">fire(T, Class&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Sends the given event to all listeners registered for the given type or for a super-type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#first()">first()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns the first element in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#first()">first()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns the first (lowest) range currently in this sorted set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#fit(double%5B%5D,double%5B%5D)">fit(double[], double[])</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Given a set of data points <var>x</var>[0 … <var>n</var>-1], <var>y</var>[0 … <var>n</var>-1],
 fits them to a straight line <var>y</var> = <var>slope</var>⋅<var>x</var> + <var>y₀</var> in a
 least-squares senses.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#fit(double%5B%5D,double%5B%5D,double%5B%5D)">fit(double[], double[], double[])</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Computes the plane's coefficients from the given coordinate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#fit(int,int,org.apache.sis.math.Vector)">fit(int, int, Vector)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Computes the plane's coefficients from values distributed on a regular grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#fit(java.lang.Iterable)">fit(Iterable&lt;? extends DirectPosition&gt;)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Given a sequence of points, fits them to a straight line
 <var>y</var> = <var>slope</var>⋅<var>x</var> + <var>y₀</var> in a least-squares senses.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#fit(java.lang.Iterable)">fit(Iterable&lt;? extends DirectPosition&gt;)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Computes the plane's coefficients from the given sequence of points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#fit(org.apache.sis.math.Vector,org.apache.sis.math.Vector)">fit(Vector, Vector)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Given a set of data points <var>x</var>[0 … <var>n</var>-1], <var>y</var>[0 … <var>n</var>-1],
 fits them to a straight line <var>y</var> = <var>slope</var>⋅<var>x</var> + <var>y₀</var> in a
 least-squares senses.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#fit(org.apache.sis.math.Vector,org.apache.sis.math.Vector,org.apache.sis.math.Vector)">fit(Vector, Vector, Vector)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Computes the plane's coefficients from the given coordinate values.</div>
</dd>
<dt><a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps"><span class="typeNameLink">Fix</span></a> - Enum in <a href="org/apache/sis/storage/gps/package-summary.html">org.apache.sis.storage.gps</a></dt>
<dd>
<div class="block">Type of GPS fix (position derived from measuring external reference points).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#FLAG_MASKS">FLAG_MASKS</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "flag_masks" attribute name for bitmask to apply on sample values before to compare
 them to the <a href="org/apache/sis/storage/netcdf/AttributeNames.html#FLAG_VALUES">flag values</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#FLAG_MEANINGS">FLAG_MEANINGS</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "flag_meanings" attribute name for the meaning of <a href="org/apache/sis/storage/netcdf/AttributeNames.html#FLAG_VALUES">flag values</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#FLAG_NAMES">FLAG_NAMES</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "flag_names" attribute name for the designation associated with a range element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#FLAG_VALUES">FLAG_VALUES</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "flag_values" attribute name for sample values to be flagged.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#flatteningDifference(org.opengis.referencing.datum.Ellipsoid)">flatteningDifference(Ellipsoid)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Returns the difference between the flattening factor of two ellipsoids.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/TransferType.html#FLOAT">FLOAT</a></span> - Static variable in class <a href="org/apache/sis/image/TransferType.html" title="class in org.apache.sis.image">TransferType</a></dt>
<dd>
<div class="block">Specifies that sample values are transfered as single-precision floating point number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#FLOAT">FLOAT</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 8 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/DecimalFunctions.html#floatToDouble(float)">floatToDouble(float)</a></span> - Static method in class <a href="org/apache/sis/math/DecimalFunctions.html" title="class in org.apache.sis.math">DecimalFunctions</a></dt>
<dd>
<div class="block">Converts the given <code>float</code> value to a <code>double</code> with the extra <em>decimal</em> fraction digits
 set to zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#floatValue()">floatValue()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns the fraction as a single-precision floating point number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#floatValue()">floatValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns the scale as a <code>float</code> type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#floatValue(int)">floatValue(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the value at the given index as a <code>float</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#floatValues()">floatValues()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Copies all values in an array of single precision floating point numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#floor()">floor()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns this fraction rounded toward negative infinity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/DecimalFunctions.html#floorLog10(double)">floorLog10(double)</a></span> - Static method in class <a href="org/apache/sis/math/DecimalFunctions.html" title="class in org.apache.sis.math">DecimalFunctions</a></dt>
<dd>
<div class="block">Computes <code>(int) floor(log10(x))</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#flush()">flush()</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Sends all pending characters to the underlying appendable, including trailing whitespaces.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#flush()">flush()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Flushes the table content to the underlying stream or buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/IO.html#flush(java.lang.Appendable)">flush(Appendable)</a></span> - Static method in class <a href="org/apache/sis/io/IO.html" title="class in org.apache.sis.io">IO</a></dt>
<dd>
<div class="block">If the given <code>out</code> argument implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>Flushable</code></a>, or is a chain
 of wrappers defined in this package around a flushable object, invokes the
 <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true#flush()" title="class or interface in java.io" class="externalLink"><code>flush()</code></a> method on that object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataOptionKey.html#FOLIATION_REPRESENTATION">FOLIATION_REPRESENTATION</a></span> - Static variable in class <a href="org/apache/sis/storage/DataOptionKey.html" title="class in org.apache.sis.storage">DataOptionKey</a></dt>
<dd>
<div class="block">Whether to assemble trajectory fragments (distinct CSV lines) into a single <code>Feature</code> instance
 forming a foliation.</div>
</dd>
<dt><a href="org/apache/sis/feature/FoliationRepresentation.html" title="enum in org.apache.sis.feature"><span class="typeNameLink">FoliationRepresentation</span></a> - Enum in <a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a></dt>
<dd>
<div class="block">Specifies whether trajectories are represented in a single <cite>moving feature</cite> instance
 or fragmented in distinct static feature instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#FOOT">FOOT</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as exactly 0.3048 metres (1 ft).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#forClass(java.lang.Class)">forClass(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns the metadata standard for the given class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#forCode(java.lang.String)">forCode(String)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the Coordinate Reference System for the given authority code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#forCodeName(java.lang.Class,java.lang.String,boolean)">forCodeName(Class&lt;T&gt;, String, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the code of the given type that matches the given name, or optionally returns a new one if none
 match the name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#forCodeTitle(java.lang.CharSequence)">forCodeTitle(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the code list or enumeration value for the given title, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs">DefaultEngineeringCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeocentricCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeographicCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs">DefaultImageCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultParametricCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultVerticalCRS</a></dt>
<dd>
<div class="block">Returns a coordinate reference system equivalent to this one but with axes rearranged according the given
 convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultAffineCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultAffineCS.html" title="class in org.apache.sis.referencing.cs">DefaultAffineCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html" title="class in org.apache.sis.referencing.cs">DefaultCartesianCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html" title="class in org.apache.sis.referencing.cs">DefaultCylindricalCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">DefaultEllipsoidalCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultLinearCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultLinearCS.html" title="class in org.apache.sis.referencing.cs">DefaultLinearCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultParametricCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultParametricCS.html" title="class in org.apache.sis.referencing.cs">DefaultParametricCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultPolarCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultPolarCS.html" title="class in org.apache.sis.referencing.cs">DefaultPolarCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs">DefaultSphericalCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultTimeCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultTimeCS.html" title="class in org.apache.sis.referencing.cs">DefaultTimeCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html" title="class in org.apache.sis.referencing.cs">DefaultUserDefinedCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html#forConvention(org.apache.sis.referencing.cs.AxesConvention)">forConvention(AxesConvention)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html" title="class in org.apache.sis.referencing.cs">DefaultVerticalCS</a></dt>
<dd>
<div class="block">Returns a coordinate system equivalent to this one but with axes rearranged according the given convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridCoverage.html#forConvertedValues(boolean)">forConvertedValues(boolean)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a></dt>
<dd>
<div class="block">Returns a grid coverage that contains real values or sample values, depending if <code>converted</code> is <code>true</code>
 or <code>false</code> respectively.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#forConvertedValues(boolean)">forConvertedValues(boolean)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#forDatum(org.opengis.referencing.crs.CoordinateReferenceSystem)">forDatum(CoordinateReferenceSystem)</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the <code>CommonCRS</code> enumeration value for the datum of the given CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/PerformanceLevel.html#forDuration(long,java.util.concurrent.TimeUnit)">forDuration(long, TimeUnit)</a></span> - Static method in class <a href="org/apache/sis/util/logging/PerformanceLevel.html" title="class in org.apache.sis.util.logging">PerformanceLevel</a></dt>
<dd>
<div class="block">Returns the level to use for logging an event of the given duration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#forEnumName(java.lang.Class,java.lang.String)">forEnumName(Class&lt;T&gt;, String)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the enumeration value of the given type that matches the given name, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#forEpoch(java.time.Instant)">forEpoch(Instant)</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Returns the enumeration value for the given epoch, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#format(double)">format(double)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Formats an angle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#format(double,java.lang.StringBuffer,java.text.FieldPosition)">format(double, StringBuffer, FieldPosition)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Formats an angle in the given buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#format(java.lang.Object,java.lang.Appendable)">format(Object, Appendable)</a></span> - Method in class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Formats the given object to the given stream of buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#format(java.lang.Object,java.lang.Appendable)">format(Object, Appendable)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Formats the specified object as a Well Know Text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#format(java.lang.Object,java.lang.Appendable)">format(Object, Appendable)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Formats the given object to the given stream of buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#format(java.lang.Object,java.lang.StringBuffer,java.text.FieldPosition)">format(Object, StringBuffer, FieldPosition)</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Writes a textual representation of the specified object in the given buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#format(java.lang.Object,java.lang.StringBuffer,java.text.FieldPosition)">format(Object, StringBuffer, FieldPosition)</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Formats the given statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#format(java.lang.Object,java.lang.StringBuffer,java.text.FieldPosition)">format(Object, StringBuffer, FieldPosition)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Formats an angle, latitude or longitude value in the given buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#format(java.lang.Object,java.lang.StringBuffer,java.text.FieldPosition)">format(Object, StringBuffer, FieldPosition)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Formats a <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure"><code>Range</code></a> and appends the resulting text to a given string buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#format(java.lang.Object,java.lang.StringBuffer,java.text.FieldPosition)">format(Object, StringBuffer, FieldPosition)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Formats the specified unit in the given buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#format(java.util.logging.LogRecord)">format(LogRecord)</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Formats the given log record and returns the formatted string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#format(javax.measure.Unit)">format(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Formats the given unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#format(javax.measure.Unit,java.lang.Appendable)">format(Unit&lt;?&gt;, Appendable)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Formats the specified unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#format(org.apache.sis.math.Statistics%5B%5D,java.lang.Appendable)">format(Statistics[], Appendable)</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Formats the given statistics in a tabular format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#format(org.apache.sis.math.Statistics,java.lang.Appendable)">format(Statistics, Appendable)</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Formats a localized string representation of the given statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/LocationFormat.html#format(org.apache.sis.referencing.gazetteer.AbstractLocation,java.lang.Appendable)">format(AbstractLocation, Appendable)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/LocationFormat.html" title="class in org.apache.sis.referencing.gazetteer">LocationFormat</a></dt>
<dd>
<div class="block">Writes a textual representation of the given location in the given stream or buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#format(org.apache.sis.util.collection.TreeTable,java.lang.Appendable)">format(TreeTable, Appendable)</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Writes a graphical representation of the specified tree table in the given stream or buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#format(org.opengis.geometry.DirectPosition)">format(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Formats the given coordinate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#format(org.opengis.geometry.DirectPosition,java.lang.Appendable)">format(DirectPosition, Appendable)</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Formats the given coordinate and appends the resulting text to the given stream or buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#format(T,java.lang.Appendable)">format(T, Appendable)</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Writes a textual representation of the given object in the given stream or buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Exceptions.html#formatChainedMessages(java.util.Locale,java.lang.String,java.lang.Throwable)">formatChainedMessages(Locale, String, Throwable)</a></span> - Static method in class <a href="org/apache/sis/util/Exceptions.html" title="class in org.apache.sis.util">Exceptions</a></dt>
<dd>
<div class="block">Returns a string which contain the given message on the first line, followed by the
 <a href="org/apache/sis/util/Exceptions.html#getLocalizedMessage(java.lang.Throwable,java.util.Locale)">localized message</a> of the given exception
 on the next line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#formatMessage(java.util.logging.LogRecord)">formatMessage(LogRecord)</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Returns the localized message from the given log record.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">FormattableObject</span></a> - Class in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Base class for objects that can be formatted as <cite>Well Known Text</cite> (WKT).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/FormattableObject.html#%3Cinit%3E()">FormattableObject()</a></span> - Constructor for class <a href="org/apache/sis/io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></dt>
<dd>
<div class="block">Default constructor.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">Formatter</span></a> - Class in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Provides support methods for formatting a <cite>Well Known Text</cite> (WKT).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#%3Cinit%3E()">Formatter()</a></span> - Constructor for class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Creates a new formatter instance with the default configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#%3Cinit%3E(org.apache.sis.io.wkt.Convention,org.apache.sis.io.wkt.Symbols,int)">Formatter(Convention, Symbols, int)</a></span> - Constructor for class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Creates a new formatter instance with the specified convention, symbols and indentation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#formatTo(java.util.Formatter,int,int,int)">formatTo(Formatter, int, int, int)</a></span> - Method in class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Formats this angle using the provider formatter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#formatTo(java.util.Formatter,int,int,int)">formatTo(Formatter, int, int, int)</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Formats this range using the provider formatter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractInternationalString.html#formatTo(java.util.Formatter,int,int,int)">formatTo(Formatter, int, int, int)</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso">AbstractInternationalString</a></dt>
<dd>
<div class="block">Formats this international string using the given formatter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Formats this position in the <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Formats this envelope as a "<code>BOX</code>" element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/FormattableObject.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></dt>
<dd>
<div class="block">Formats the inner part of this <cite>Well Known Text</cite> (WKT) element into the given formatter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">Formats this descriptor as a pseudo-<cite>Well Known Text</cite> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Formats this parameter as a <cite>Well Known Text</cite> <code>Parameter[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Formats the inner part of the <cite>Well Known Text</cite> (WKT) representation for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Formats the inner part of the <cite>Well Known Text</cite> (WKT) representation of this CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Formats this CRS as a <cite>Well Known Text</cite> <code>CompoundCRS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Formats the inner part of the <cite>Well Known Text</cite> (WKT) representation of this CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs">DefaultEngineeringCRS</a></dt>
<dd>
<div class="block">Formats this CRS as a <cite>Well Known Text</cite> <code>EngineeringCRS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeocentricCRS</a></dt>
<dd>
<div class="block">Formats this CRS as a <cite>Well Known Text</cite> <code>GeodeticCRS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeographicCRS</a></dt>
<dd>
<div class="block">Formats this CRS as a <cite>Well Known Text</cite> <code>GeodeticCRS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs">DefaultImageCRS</a></dt>
<dd>
<div class="block">Formats this CRS as a <cite>Well Known Text</cite> <code>ImageCRS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultParametricCRS</a></dt>
<dd>
<div class="block">Formats this CRS as a <cite>Well Known Text</cite> <code>ParametricCRS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Formats the inner part of the <cite>Well Known Text</cite> (WKT) representation of this CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Formats this CRS as a <cite>Well Known Text</cite> <code>TimeCRS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultVerticalCRS</a></dt>
<dd>
<div class="block">Formats this CRS as a <cite>Well Known Text</cite> <code>VerticalCRS[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Formats the inner part of the <cite>Well Known Text</cite> (WKT) representation of this coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Formats this axis as a <cite>Well Known Text</cite> <code>Axis[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Formats the inner part of the <cite>Well Known Text</cite> (WKT) representation for this datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Formats this object as a <cite>Well Known Text</cite> <code>ToWGS84[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Formats this ellipsoid as a <cite>Well Known Text</cite> <code>Ellipsoid[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html" title="class in org.apache.sis.referencing.datum">DefaultEngineeringDatum</a></dt>
<dd>
<div class="block">Formats this datum as a <cite>Well Known Text</cite> <code>EngineeringDatum[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Formats this datum as a <cite>Well Known Text</cite> <code>Datum[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum">DefaultImageDatum</a></dt>
<dd>
<div class="block">Formats this datum as a <cite>Well Known Text</cite> <code>ImageDatum[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultParametricDatum.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultParametricDatum.html" title="class in org.apache.sis.referencing.datum">DefaultParametricDatum</a></dt>
<dd>
<div class="block">Formats this datum as a <cite>Well Known Text</cite> <code>ParametricDatum[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Formats this prime meridian as a <cite>Well Known Text</cite> <code>PrimeMeridian[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultTemporalDatum</a></dt>
<dd>
<div class="block">Formats this datum as a <cite>Well Known Text</cite> <code>TimeDatum[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultVerticalDatum</a></dt>
<dd>
<div class="block">Formats this datum as a <cite>Well Known Text</cite> <code>VerticalDatum[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Formats a pseudo-<cite>Well Known Text</cite> (WKT) representation for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Formats this identifier as a <cite>Well Known Text</cite> <code>Id[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Formats this coordinate operation in Well Known Text (WKT) version 2 format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Formats this formula as a pseudo-<cite>Well Known Text</cite> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Formats this operation as a <cite>Well Known Text</cite> <code>Method[…]</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Formats this coordinate operation in a pseudo-Well Known Text (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Formats the inner part of a <cite>Well Known Text</cite> version 1 (WKT 1) element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Formats the inner part of a <cite>Well Known Text</cite> version 1 (WKT 1) element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo(Formatter)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Formats this transform as a <cite>Well Known Text</cite> version 1 (WKT 1) element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#formatToCharacterIterator(java.lang.Object)">formatToCharacterIterator(Object)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Formats an angle, latitude or longitude value as an attributed character iterator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#formatToCharacterIterator(java.lang.Object)">formatToCharacterIterator(Object)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Formats a range as an attributed character iterator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataCopier.html#forModifiable(org.apache.sis.metadata.MetadataStandard)">forModifiable(MetadataStandard)</a></span> - Static method in class <a href="org/apache/sis/metadata/MetadataCopier.html" title="class in org.apache.sis.metadata">MetadataCopier</a></dt>
<dd>
<div class="block">Creates a new metadata copier which avoid copying unmodifiable metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#forObject(java.lang.Object)">forObject(Object)</a></span> - Static method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">If the given object is nil, returns the reason why it does not contain information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#forSeries(java.lang.CharSequence,java.lang.CharSequence...)">forSeries(CharSequence, CharSequence...)</a></span> - Static method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Constructs a new <code>Statistics</code> object which will also compute finite differences
 up to the given order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#forStandardName(java.lang.String)">forStandardName(String)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the Java type (usually a GeoAPI interface) for the given ISO name, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#forType(java.lang.Class)">forType(Class&lt;?&gt;)</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Returns the element kind for an object of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.Filter.html#forTypes(byte...)">forTypes(byte...)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.Filter.html" title="class in org.apache.sis.util">Characters.Filter</a></dt>
<dd>
<div class="block">Returns a subset representing the union of all Unicode characters of the given types.</div>
</dd>
<dt><a href="org/apache/sis/storage/ForwardOnlyStorageException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">ForwardOnlyStorageException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when an operation would require to move the cursor back, but the underlying storage does not allow that.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ForwardOnlyStorageException.html#%3Cinit%3E()">ForwardOnlyStorageException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/ForwardOnlyStorageException.html" title="class in org.apache.sis.storage">ForwardOnlyStorageException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ForwardOnlyStorageException.html#%3Cinit%3E(java.lang.String)">ForwardOnlyStorageException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ForwardOnlyStorageException.html" title="class in org.apache.sis.storage">ForwardOnlyStorageException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ForwardOnlyStorageException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ForwardOnlyStorageException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ForwardOnlyStorageException.html" title="class in org.apache.sis.storage">ForwardOnlyStorageException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ForwardOnlyStorageException.html#%3Cinit%3E(java.util.Locale,java.lang.String,java.nio.file.OpenOption...)">ForwardOnlyStorageException(Locale, String, OpenOption...)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ForwardOnlyStorageException.html" title="class in org.apache.sis.storage">ForwardOnlyStorageException</a></dt>
<dd>
<div class="block">Creates a localized exception with a default message saying that the stream is read-once or write-once.</div>
</dd>
<dt><a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math"><span class="typeNameLink">Fraction</span></a> - Class in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">A value class for rational numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#%3Cinit%3E(int,int)">Fraction(int, int)</a></span> - Constructor for class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Creates a new fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#%3Cinit%3E(java.lang.String)">Fraction(String)</a></span> - Constructor for class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Creates a new fraction from the given text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#FRACTION">FRACTION</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 7 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/DecimalFunctions.html#fractionDigitsForDelta(double,boolean)">fractionDigitsForDelta(double, boolean)</a></span> - Static method in class <a href="org/apache/sis/math/DecimalFunctions.html" title="class in org.apache.sis.math">DecimalFunctions</a></dt>
<dd>
<div class="block">Returns the number of fraction digits needed for formatting in base 10 numbers of the given
 accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/DecimalFunctions.html#fractionDigitsForValue(double)">fractionDigitsForValue(double)</a></span> - Static method in class <a href="org/apache/sis/math/DecimalFunctions.html" title="class in org.apache.sis.math">DecimalFunctions</a></dt>
<dd>
<div class="block">Returns the number of significant fraction digits when formatting the given number in base 10.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/DecimalFunctions.html#fractionDigitsForValue(double,int)">fractionDigitsForValue(double, int)</a></span> - Static method in class <a href="org/apache/sis/math/DecimalFunctions.html" title="class in org.apache.sis.math">DecimalFunctions</a></dt>
<dd>
<div class="block">Returns the number of significant fraction digits, potentially minus trailing digits that may be rounding error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FoliationRepresentation.html#FRAGMENTED">FRAGMENTED</a></span> - <a href="org/apache/sis/feature/FoliationRepresentation.html" title="enum in org.apache.sis.feature">FoliationRepresentation</a></dt>
<dd>
<div class="block">Trajectories stored in distinct <code>Feature</code> instances,
 each of them handled as if it was a static feature.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#freeze()">freeze()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Makes this representative fraction unmodifiable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#freeze()">freeze()</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>transition(State.FINAL)</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#freeze()">freeze()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Marks this <code>xlink</code> as unmodifiable.</div>
</dd>
<dt><a href="org/apache/sis/profile/france/FrenchProfile.html" title="class in org.apache.sis.profile.france"><span class="typeNameLink">FrenchProfile</span></a> - Class in <a href="org/apache/sis/profile/france/package-summary.html">org.apache.sis.profile.france</a></dt>
<dd>
<div class="block">Provides implementations of French extensions defined by AFNOR.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#frequencies()">frequencies()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns the frequency of all elements in this set, in iteration order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#frequency(E)">frequency(E)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns the frequency of the specified element in this set.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">FrequencySortedSet</span></a>&lt;<a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="type parameter in FrequencySortedSet">E</a>&gt; - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A set with elements ordered by the amount of time they were <a href="org/apache/sis/util/collection/FrequencySortedSet.html#add(E,int)">added</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#%3Cinit%3E()">FrequencySortedSet()</a></span> - Constructor for class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Creates an initially empty set with less frequent elements first.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#%3Cinit%3E(boolean)">FrequencySortedSet(boolean)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Creates an initially empty set with the default initial capacity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#%3Cinit%3E(int,boolean)">FrequencySortedSet(int, boolean)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Creates an initially empty set with the specified initial capacity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#fromAuthority(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CRSAuthorityFactory,java.util.logging.Filter)">fromAuthority(CoordinateReferenceSystem, CRSAuthorityFactory, Filter)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Replaces the given coordinate reference system by an authoritative description, if one can be found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#fromAuthority(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CRSAuthorityFactory,org.apache.sis.util.logging.WarningListener)">fromAuthority(CoordinateReferenceSystem, CRSAuthorityFactory, WarningListener&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment"><code>WarningListener</code> argument replaced by <code>java.util.logging.Filter</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html#fromBoundingBox(org.opengis.metadata.extent.GeographicBoundingBox)">fromBoundingBox(GeographicBoundingBox)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationContext</a></dt>
<dd>
<div class="block">Creates an operation context for the given area of interest, which may be null or
 <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#isEmpty()"><code>undefined</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#fromGPX(java.lang.String)">fromGPX(String)</a></span> - Static method in enum <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">Returns the enumeration value from the given GPX name, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#fromName(java.lang.String)">fromName(String)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">Returns a citation of the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#fromWKT(java.lang.CharSequence)">fromWKT(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Returns the bounding box of a geometry defined in <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#fromWKT(java.lang.String)">fromWKT(String)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Creates a Coordinate Reference System object from a <cite>Well Known Text</cite> (WKT).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#fromXML(java.lang.String)">fromXML(String)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Creates a coordinate reference system object from a XML string.</div>
</dd>
<dt><a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math"><span class="typeNameLink">FunctionProperty</span></a> - Enum in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">The manners in which the inputs of a function are mapped to the outputs.</div>
</dd>
</dl>
<a id="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><a href="org/apache/sis/referencing/gazetteer/GazetteerException.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">GazetteerException</span></a> - Exception in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Thrown when a coordinate can not be converted to a geographic identifier, or conversely.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GazetteerException.html#%3Cinit%3E()">GazetteerException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/gazetteer/GazetteerException.html" title="class in org.apache.sis.referencing.gazetteer">GazetteerException</a></dt>
<dd>
<div class="block">Constructs a new exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GazetteerException.html#%3Cinit%3E(java.lang.String)">GazetteerException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/gazetteer/GazetteerException.html" title="class in org.apache.sis.referencing.gazetteer">GazetteerException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GazetteerException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">GazetteerException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/gazetteer/GazetteerException.html" title="class in org.apache.sis.referencing.gazetteer">GazetteerException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GazetteerException.html#%3Cinit%3E(java.lang.Throwable)">GazetteerException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/gazetteer/GazetteerException.html" title="class in org.apache.sis.referencing.gazetteer">GazetteerException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GCO">GCO</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/gco/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GCX">GCX</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/gcx/1.0"</code> URL.</div>
</dd>
<dt><a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">GeneralDirectPosition</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">A mutable <code>DirectPosition</code> (the coordinates of a position) of arbitrary dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#%3Cinit%3E(double...)">GeneralDirectPosition(double...)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Constructs a position with the specified coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#%3Cinit%3E(int)">GeneralDirectPosition(int)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Constructs a position with the specified number of dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#%3Cinit%3E(java.lang.CharSequence)">GeneralDirectPosition(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Constructs a position initialized to the values parsed
 from the given string in <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#%3Cinit%3E(org.opengis.geometry.DirectPosition)">GeneralDirectPosition(DirectPosition)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Constructs a position initialized to the same values than the specified point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem)">GeneralDirectPosition(CoordinateReferenceSystem)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Constructs a position using the specified coordinate reference system.</div>
</dd>
<dt><a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">GeneralEnvelope</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">A mutable <code>Envelope</code> (a minimum bounding box or rectangle) of arbitrary dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#%3Cinit%3E(double%5B%5D,double%5B%5D)">GeneralEnvelope(double[], double[])</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Constructs an envelope defined by two corners given as sequences of coordinate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#%3Cinit%3E(int)">GeneralEnvelope(int)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Constructs an empty envelope of the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#%3Cinit%3E(java.lang.CharSequence)">GeneralEnvelope(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Constructs a new envelope initialized to the values parsed from the given string in
 <code>BOX</code> or <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#%3Cinit%3E(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)">GeneralEnvelope(DirectPosition, DirectPosition)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Constructs an envelope defined by two corners given as direct positions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#%3Cinit%3E(org.opengis.geometry.Envelope)">GeneralEnvelope(Envelope)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Constructs a new envelope with the same data than the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#%3Cinit%3E(org.opengis.metadata.extent.GeographicBoundingBox)">GeneralEnvelope(GeographicBoundingBox)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Constructs a new envelope with the same data than the specified geographic bounding box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem)">GeneralEnvelope(CoordinateReferenceSystem)</a></span> - Constructor for class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Constructs an empty envelope with the specified coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#geocentric()">geocentric()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the geocentric CRS using a Cartesian coordinate system.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">GeodeticAuthorityFactory</span></a> - Class in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Creates geodetic objects from codes defined by an authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#%3Cinit%3E()">GeodeticAuthorityFactory()</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a new authority factory for geodetic objects.</div>
</dd>
<dt><a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">GeodeticCalculator</span></a> - Class in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Performs geodetic calculations on a sphere or an ellipsoid.</div>
</dd>
<dt><a href="org/apache/sis/referencing/GeodeticException.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">GeodeticException</span></a> - Exception in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Unchecked exception thrown when an error occurred while computing a geodetic value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticException.html#%3Cinit%3E()">GeodeticException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/GeodeticException.html" title="class in org.apache.sis.referencing">GeodeticException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticException.html#%3Cinit%3E(java.lang.String)">GeodeticException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/GeodeticException.html" title="class in org.apache.sis.referencing">GeodeticException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">GeodeticException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/GeodeticException.html" title="class in org.apache.sis.referencing">GeodeticException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticException.html#%3Cinit%3E(java.lang.Throwable)">GeodeticException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/GeodeticException.html" title="class in org.apache.sis.referencing">GeodeticException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified cause.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">GeodeticObjectFactory</span></a> - Class in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Creates <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">Coordinate Reference System</a> (CRS) implementations,
 with their <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">Coordinate System</a> (CS)
 and <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">Datum</a> components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#%3Cinit%3E()">GeodeticObjectFactory()</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Constructs a factory with no default properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html#%3Cinit%3E(java.util.Map)">GeodeticObjectFactory(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticObjectFactory</a></dt>
<dd>
<div class="block">Constructs a factory with the given default properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#geographic()">geographic()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the two-dimensional geographic CRS with axes in the standard (<var>latitude</var>, <var>longitude</var>)
 order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#GEOGRAPHIC_EXTENT">GEOGRAPHIC_EXTENT</a></span> - Static variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">A bitmask to specify the validity of the geographic bounding box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#GEOGRAPHIC_IDENTIFIER">GEOGRAPHIC_IDENTIFIER</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "geographic_identifier" attribute name for an identifier of the geographic area.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#geographic3D()">geographic3D()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the three-dimensional geographic CRS with axes in the standard (<var>latitude</var>,
 <var>longitude</var>, <var>height</var>) order.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">GeohashReferenceSystem</span></a> - Class in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Geographic coordinates represented as <cite>geohashes</cite> strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.html#%3Cinit%3E(org.apache.sis.referencing.gazetteer.GeohashReferenceSystem.Format,org.opengis.referencing.crs.GeographicCRS)">GeohashReferenceSystem(GeohashReferenceSystem.Format, GeographicCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem</a></dt>
<dd>
<div class="block">Creates a new geohash reference system for the given format and coordinate reference system.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">GeohashReferenceSystem.Coder</span></a> - Class in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Conversions between direct positions and geohashes.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Format.html" title="enum in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">GeohashReferenceSystem.Format</span></a> - Enum in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">The encoding format used by <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer"><code>GeohashReferenceSystem.Coder</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#GEOMETRY_LIBRARY">GEOMETRY_LIBRARY</a></span> - Static variable in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">The library to use for creating geometric objects at reading time.</div>
</dd>
<dt><a href="org/apache/sis/setup/GeometryLibrary.html" title="enum in org.apache.sis.setup"><span class="typeNameLink">GeometryLibrary</span></a> - Enum in <a href="org/apache/sis/setup/package-summary.html">org.apache.sis.setup</a></dt>
<dd>
<div class="block">Some libraries providing geometric objects or topological operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#GEOSPATIAL_BOUNDS">GEOSPATIAL_BOUNDS</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">Data's 2D or 3D geospatial extent in OGC's Well-Known Text (WKT) geometry format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#GEOTIFF">GEOTIFF</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The authority for identifiers of objects defined by the
 the <a href="http://trac.osgeo.org/geotiff/">GeoTIFF</a> specification.</div>
</dd>
<dt><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff"><span class="typeNameLink">GeoTiffStore</span></a> - Class in <a href="org/apache/sis/storage/geotiff/package-summary.html">org.apache.sis.storage.geotiff</a></dt>
<dd>
<div class="block">A data store backed by GeoTIFF files.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html#%3Cinit%3E(org.apache.sis.storage.geotiff.GeoTiffStoreProvider,org.apache.sis.storage.StorageConnector)">GeoTiffStore(GeoTiffStoreProvider, StorageConnector)</a></span> - Constructor for class <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStore</a></dt>
<dd>
<div class="block">Creates a new GeoTIFF store from the given file, URL or stream object.</div>
</dd>
<dt><a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html" title="class in org.apache.sis.storage.geotiff"><span class="typeNameLink">GeoTiffStoreProvider</span></a> - Class in <a href="org/apache/sis/storage/geotiff/package-summary.html">org.apache.sis.storage.geotiff</a></dt>
<dd>
<div class="block">The provider of <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff"><code>GeoTiffStore</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html#%3Cinit%3E()">GeoTiffStoreProvider()</a></span> - Constructor for class <a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStoreProvider</a></dt>
<dd>
<div class="block">Creates a new provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#get(int)">get(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the number at the given index, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#get(int)">get(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns the element at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#get(java.lang.Object)">get(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns the value mapped to the given key in the cache, potentially waiting for computation to complete.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#get(java.lang.Object)">get(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Returns an object equals to the specified object, if present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#get(java.lang.Object)">get(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Returns the value to which this map maps the specified key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/FeatureNaming.html#get(org.apache.sis.storage.DataStore,java.lang.String)">get(DataStore, String)</a></span> - Method in class <a href="org/apache/sis/storage/FeatureNaming.html" title="class in org.apache.sis.storage">FeatureNaming</a></dt>
<dd>
<div class="block">Returns the value associated to the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getAbbreviation()">getAbbreviation()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns the abbreviation used for this coordinate system axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getAbstract()">getAbstract()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns a brief narrative summary of the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#getAccessConstraints()">getAccessConstraints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Returns the access constraints applied to assure the protection of privacy or intellectual property,
 and any special restrictions or limitations on obtaining the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getAccessProperties()">getAccessProperties()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns information about the availability of the service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html#getAccuracyReports()">getAccuracyReports()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCP</a></dt>
<dd>
<div class="block">Returns the accuracy of a ground control point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getAcquisitionInformation()">getAcquisitionInformation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information about the acquisition of the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#getAcquisitionPlans()">getAcquisitionPlans()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Returns the plan as implemented by the acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#getAcquisitionRequirements()">getAcquisitionRequirements()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Returns the requirement the data acquisition intends to satisfy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getActuate()">getActuate()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns the desired timing of traversal from the starting resource to the ending
 resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#getAdditionalDocumentation()">getAdditionalDocumentation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Publications that describe usage of data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#getAdditionalDocumentation()">getAdditionalDocumentation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Returns additional documentation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getAdditionalDocumentations()">getAdditionalDocumentations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns other documentation associated with the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getAddress()">getAddress()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getAddresses()"><code>DefaultContact.getAddresses()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html#getAddressees()">getAddressees()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultReleasability</a></dt>
<dd>
<div class="block">Returns the parties to which the release statement applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html#getAddressees(java.util.Collection)">getAddressees(Collection&lt;? extends DefaultResponsibility&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultReleasability</a></dt>
<dd>
<div class="block">Sets the parties to which the release statement applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getAddresses()">getAddresses()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Returns the physical and email addresses at which the organization or individual may be contacted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#getAdministrativeArea()">getAdministrativeArea()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Return the state, province of the location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getAdministrator()">getAdministrator()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns the organization responsible for defining the characteristics of the location instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#getAggregateDataSetIdentifier()">getAggregateDataSetIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAggregateInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by the first identifier of <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#getAggregateDataSetName()"><code>DefaultAggregateInformation.getAggregateDataSetName()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#getAggregateDataSetName()">getAggregateDataSetName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAggregateInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#getName()"><code>DefaultAssociatedResource.getName()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getAggregationInfo()">getAggregationInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getAssociatedResources()"><code>AbstractIdentification.getAssociatedResources()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#getAlgorithms()">getAlgorithms()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Returns the details of the methodology by which geographic information was derived from the
 instrument readings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getAlias()">getAlias()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns alternative names by which this object is identified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#getAllDescriptors(int...)">getAllDescriptors(int...)</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns all parameters in this group for a tensor of the specified dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#getAllInterfaces(java.lang.Class)">getAllInterfaces(Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns every interfaces implemented, directly or indirectly, by the given class or interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#getAllowedColumns()">getAllowedColumns()</a></span> - Method in class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Returns all columns that may be shown in the tables to format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getAlternateTitles()">getAlternateTitles()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns short name or other language name by which the cited information is known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getAlternativeGeographicIdentifiers()">getAlternativeGeographicIdentifiers()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns other identifier(s) for the location instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getAlternativeMetadataReferences()">getAlternativeMetadataReferences()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns reference(s) to alternative metadata or metadata in a non-ISO standard for the same resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getAmendmentNumber()">getAmendmentNumber()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Returns the amendment number of the format version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#getAnchorPoint()">getAnchorPoint()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Returns a description of the point(s) used to anchor the datum to the Earth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#getAngularDistance()">getAngularDistance()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Returns the angular sampling measure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#getAngularUnit()">getAngularUnit()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Returns the angular unit of the Greenwich longitude.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#getApplicationProfile()">getApplicationProfile()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Returns the name of an application profile that can be used with the online resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getApplicationSchemaInfo()">getApplicationSchemaInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information about the conceptual schema of a dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getArcRole()">getArcRole()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns a URI reference for some description of the arc role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html#getAreaOfInterest()">getAreaOfInterest()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationContext</a></dt>
<dd>
<div class="block">Returns the spatiotemporal area of interest, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getAssociatedResources()">getAssociatedResources()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Provides associated resource information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#getAssociationType()">getAssociationType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Returns the type of relation between the resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#getAttributeDescription()">getAttributeDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Returns the description of the attribute described by the measurement value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#getAttributeGroups()">getAttributeGroups()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Returns information on attribute groups of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#getAttributeInstances()">getAttributeInstances()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Returns the attribute instances to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#getAttributes()">getAttributes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html" title="class in org.apache.sis.metadata.iso.content">DefaultAttributeGroup</a></dt>
<dd>
<div class="block">Returns information on an attribute of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#getAttributes()">getAttributes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Returns the attribute types to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#getAttributes()">getAttributes()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Returns the dictionary of all (<var>name</var>, <var>value</var>) pairs in this record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultMemberName.html#getAttributeType()">getAttributeType()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultMemberName.html" title="class in org.apache.sis.util.iso">DefaultMemberName</a></dt>
<dd>
<div class="block">Returns the type of the data associated with the record member.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getAuthalicRadius()">getAuthalicRadius()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Returns the radius of a hypothetical sphere having the same surface than this ellipsoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/ResourcesDownloader.html#getAuthorities()">getAuthorities()</a></span> - Method in class <a href="org/apache/sis/console/ResourcesDownloader.html" title="class in org.apache.sis.console">ResourcesDownloader</a></dt>
<dd>
<div class="block">Returns the name of the authority who provides data under non-Apache terms of use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html#getAuthorities()">getAuthorities()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html" title="class in org.apache.sis.referencing.factory.sql">InstallationScriptProvider</a></dt>
<dd>
<div class="block">Returns the identifiers of the dataset installed by the SQL scripts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/InstallationResources.html#getAuthorities()">getAuthorities()</a></span> - Method in class <a href="org/apache/sis/setup/InstallationResources.html" title="class in org.apache.sis.setup">InstallationResources</a></dt>
<dd>
<div class="block">Returns identifiers of the resources provided by this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#getAuthority()">getAuthority()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Returns the person or party responsible for maintenance of the namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html#getAuthority()">getAuthority()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">CommonAuthorityFactory</a></dt>
<dd>
<div class="block">Returns the specification that defines the codes recognized by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#getAuthority()">getAuthority()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns the database or specification that defines the codes recognized by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#getAuthority()">getAuthority()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Returns the database or specification that defines the codes recognized by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#getAuthority()">getAuthority()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Returns the database or specification that defines the codes recognized by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#getAuthority()">getAuthority()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Returns the authority for this EPSG dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#getAuthority()">getAuthority()</a></span> - Method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">The person or party responsible for maintenance of the namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#getAuthorityCode(T)">getAuthorityCode(T)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Returns the identifier for the specified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#getAuthorityCodes()">getAuthorityCodes()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Returns the authority codes of all <code>IdentifiedObject</code>s contained in this collection, in insertion order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html#getAuthorityCodes(java.lang.Class)">getAuthorityCodes(Class&lt;? extends IdentifiedObject&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">CommonAuthorityFactory</a></dt>
<dd>
<div class="block">Provides a complete set of the known codes provided by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#getAuthorityCodes(java.lang.Class)">getAuthorityCodes(Class&lt;? extends IdentifiedObject&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns the set of authority codes for objects of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#getAuthorityCodes(java.lang.Class)">getAuthorityCodes(Class&lt;? extends IdentifiedObject&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Returns the set of authority codes for objects of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#getAuthorityCodes(java.lang.Class)">getAuthorityCodes(Class&lt;? extends IdentifiedObject&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Returns the set of authority codes of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#getAuthorityFactory(java.lang.Class,java.lang.String,java.lang.String)">getAuthorityFactory(Class&lt;T&gt;, String, String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Returns the factory identified by the given type, authority and version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getAuthorityFactory(java.lang.String)">getAuthorityFactory(String)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the system-wide authority factory used by <a href="org/apache/sis/referencing/CRS.html#forCode(java.lang.String)"><code>CRS.forCode(String)</code></a> and other SIS methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getAvailableFormatNames()">getAvailableFormatNames()</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Returns a list of available format names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Locales.html#getAvailableLanguages()">getAvailableLanguages()</a></span> - Method in class <a href="org/apache/sis/util/Locales.html" title="class in org.apache.sis.util">Locales</a></dt>
<dd>
<div class="block">Returns the languages known to the JavaVM (<a href="org/apache/sis/util/Locales.html#ALL"><code>Locales.ALL</code></a>) or to the Apache SIS library
 (<a href="org/apache/sis/util/Locales.html#SIS"><code>Locales.SIS</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Locales.html#getAvailableLocales()">getAvailableLocales()</a></span> - Method in class <a href="org/apache/sis/util/Locales.html" title="class in org.apache.sis.util">Locales</a></dt>
<dd>
<div class="block">Returns the locales known to the JavaVM (<a href="org/apache/sis/util/Locales.html#ALL"><code>Locales.ALL</code></a>) or to the Apache SIS library
 (<a href="org/apache/sis/util/Locales.html#SIS"><code>Locales.SIS</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#getAvailableMethods(java.lang.Class)">getAvailableMethods(Class&lt;? extends SingleOperation&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Returns a set of available methods for coordinate operations of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getAvailableSystemsOfUnits()">getAvailableSystemsOfUnits()</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Returns the list of all available systems of units.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#getAverageAirTemperature()">getAverageAirTemperature()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Returns the average air temperature along the flight pass during the photo flight.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#getAxis(int)">getAxis(int)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Returns the axis for this coordinate system at the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#getAxisDimensionProperties()">getAxisDimensionProperties()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns information about spatial-temporal axis properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#getAxisDirections(org.opengis.referencing.cs.CoordinateSystem)">getAxisDirections(CoordinateSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns the axis directions for the specified coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#getAxisType(int)">getAxisType(int)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns the type (vertical, temporal, …) of grid axis at given dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getAxisUnit()">getAxisUnit()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Returns the linear unit of the <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getSemiMajorAxis()">semi-major</a>
 and <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getSemiMinorAxis()">semi-minor</a> axis values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getBackground()">getBackground()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns the background value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getBandBoundaryDefinition()">getBandBoundaryDefinition()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns the designation of criterion for defining maximum and minimum wavelengths for a spectral band.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#getBase()">getBase()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Returns the logarithm or exponent base in the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#getBaseCRS()">getBaseCRS()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Returns the CRS on which the conversion is applied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#getBaseCRS()">getBaseCRS()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Returns the geographic CRS on which the map projection is applied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getBitsPerValue()">getBitsPerValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the maximum number of significant bits in the uncompressed representation
 for the value in each band of each pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#getBorderWidth()">getBorderWidth()</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Returns the "width" of the border to drawn around the table, in number of lines.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getBoundMax()">getBoundMax()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns the longest wavelength that the sensor is capable of collecting within a designated band.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getBoundMin()">getBoundMin()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns the shortest wavelength that the sensor is capable of collecting within a designated band.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#getBounds()">getBounds()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Returns the location of the image upper-left corner together with the image size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getBoundUnits()">getBoundUnits()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns units in which sensor wavelengths are expressed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/ResourceInternationalString.html#getBundle(java.util.Locale)">getBundle(Locale)</a></span> - Method in class <a href="org/apache/sis/util/iso/ResourceInternationalString.html" title="class in org.apache.sis.util.iso">ResourceInternationalString</a></dt>
<dd>
<div class="block">Returns the resource bundle for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#getBursaWolfParameters()">getBursaWolfParameters()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Returns all Bursa-Wolf parameters specified in the <code>properties</code> map at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#getCapacity()">getCapacity()</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Returns the capacity of node in the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html#getCatalog()">getCatalog()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html" title="class in org.apache.sis.referencing.factory.sql">SQLTranslator</a></dt>
<dd>
<div class="block">Returns the catalog that contains the EPSG schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getCategories()">getCategories()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns all categories in this sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#getCellAlignment()">getCellAlignment()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Returns the alignment of the text inside the current cell.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#getCellGeometry()">getCellGeometry()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns the identification of grid data as point or cell.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getCellMean(int)">getCellMean(int)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns an average translation value for the given dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getCellPrecision()">getCellPrecision()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns an estimation of cell value precision (not to be confused with accuracy).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getCellValue(int,int,int)">getCellValue(int, int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns the translation stored at the given two-dimensional grid indices for the given dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#getCenterPoint()">getCenterPoint()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns the Earth location in the coordinate system defined by the Spatial Reference System
 and the grid coordinate of the cell halfway between opposite ends of the grid in the
 spatial dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getCenterX()">getCenterX()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/geometry/Envelope2D.html#getMedian(int)">median</a> coordinate value for dimension 0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getCenterY()">getCenterY()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/geometry/Envelope2D.html#getMedian(int)">median</a> coordinate value for dimension 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#getCharacteristic(java.lang.String)">getCharacteristic(String)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Returns the builder for the characteristic of the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getCharacterSet()">getCharacterSet()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()">DefaultMetadata.getLocalesAndCharsets()</a>.values()</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getCharacterSets()">getCharacterSets()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()">DefaultMetadata.getLocalesAndCharsets()</a>.values()</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#getCharacterSets()">getCharacterSets()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>getLocalesAndCharsets().values()</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#getCheckPointDescription()">getCheckPointDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns a description of geographic position points used to test the accuracy of the
 georeferenced grid data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#getCheckPoints()">getCheckPoints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns the geographic references used to validate georectification of the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getChildOperations()">getChildOperations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the sub-missions that make up part of a larger mission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getChildren()">getChildren()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns location instances of a different location type which subdivides this location instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getChildren()">getChildren()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the child location types (location types which sub-divides this location type).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getChildren()">getChildren()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Returns the children of this node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#getChildren()">getChildren()</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Returns the children of this node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/distance/LatLonPointRadius.html#getCircularRegionApproximation(int)">getCircularRegionApproximation(int)</a></span> - Method in class <a href="org/apache/sis/distance/LatLonPointRadius.html" title="class in org.apache.sis.distance">LatLonPointRadius</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Gets the circular region approximation on the earth surface using haversine
 formula.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getCitation()">getCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the identification of the mission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#getCitation()">getCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Returns the identification of authority requesting target collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#getCitation()">getCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Returns the source where information about the platform is described.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#getCitation()">getCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns the identification of reference or guidance material for the requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getCitation()">getCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns the citation for the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html#getCitation()">getCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultAlgorithm</a></dt>
<dd>
<div class="block">Returns the information identifying the algorithm and version or date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#getCitation()">getCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns a bibliographical reference to the international standard.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#getCitation()">getCitation()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Returns the reference to a publication giving the formula(s) or procedure used by the
 coordinate operation method, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#getCitations()">getCitations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Returns the complete citation of the instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getCitedResponsibleParties()">getCitedResponsibleParties()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the role, name, contact and position information for an individual or organization
 that is responsible for the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#getCity()">getCity()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Returns the city of the location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#getClass(T)">getClass(T)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the class of the specified object, or <code>null</code> if <code>object</code> is null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#getClassification()">getClassification()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Returns the name of the handling restrictions on the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#getClassificationSystem()">getClassificationSystem()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Returns the name of the classification system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#getClassName()">getClassName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Returns a label for the keyword category in natural language.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#getClipToValidArea()">getClipToValidArea()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Returns whether the decoded locations should be clipped to the valid area.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getCloseSequence()">getCloseSequence()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the character used for closing a sequence of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getClosingBracket(int)">getClosingBracket(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the closing bracket character at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getClosingQuote(int)">getClosingQuote(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the closing quote character at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#getCloudCoverPercentage()">getCloudCoverPercentage()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#getCode()">getCode()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Returns the alphanumeric value identifying an instance in the namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#getCode()">getCode()</a></span> - Method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Alphanumeric value identifying an instance in the namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#getCodeCandidates(org.opengis.referencing.IdentifiedObject)">getCodeCandidates(IdentifiedObject)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">Returns a set of authority codes that <strong>may</strong> identify the same object than the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getCodeLabel(org.opengis.util.CodeList)">getCodeLabel(CodeList&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns a unlocalized title for the given enumeration or code list value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getCodeName(org.opengis.util.CodeList)">getCodeName(CodeList&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the ISO name (if available) or the Java name (as a fallback) of the given enumeration or code list
 value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#getCodeSpace()">getCodeSpace()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Returns the identifier or namespace in which the code is valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#getCodeSpace()">getCodeSpace()</a></span> - Method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Identifier or namespace in which the code is valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#getCodeSpace(org.opengis.metadata.citation.Citation)">getCodeSpace(Citation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed as <a href="org/apache/sis/metadata/iso/citation/Citations.html#toCodeSpace(org.opengis.metadata.citation.Citation)"><code>Citations.toCodeSpace(Citation)</code></a>. The previous name was confusing because this
 method does not return the namespace of the given citation, but instead represents it as a namespace.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html#getCodeSpaces()">getCodeSpaces()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">CommonAuthorityFactory</a></dt>
<dd>
<div class="block">Returns the namespaces defined by the OGC specifications implemented by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#getCodeSpaces()">getCodeSpaces()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Returns all namespaces recognized by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#getCodeSpaces()">getCodeSpaces()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Returns the code spaces of all factories given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#getCodeSpaces()">getCodeSpaces()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Returns an empty set since this data access class expects no namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#getCodeSpaces()">getCodeSpaces()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">Returns the namespace of EPSG codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getCodeTitle(org.opengis.util.CodeList)">getCodeTitle(CodeList&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the title of the given enumeration or code list value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getCodeValues(java.lang.Class)">getCodeValues(Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns all known values for the given type of code list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#getCollectionIdentification()">getCollectionIdentification()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Returns the identifier of the GCP collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#getCollectionName()">getCollectionName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Returns the name of the GCP collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getCollectiveTitle()">getCollectiveTitle()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Removed as of ISO 19115:2014.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getColors()">getColors()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the colors to use for syntax coloring, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#getColors()">getColors()</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Returns the colors for an output on X3.64 compatible terminal, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#getColumn(int,int)">getColumn(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns a column of coordinate values in the given dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#getColumnCount()">getColumnCount()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Returns the number of columns in this table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#getColumns()">getColumns()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Returns the table columns given at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.html#getColumns()">getColumns()</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.html" title="interface in org.apache.sis.util.collection">TreeTable</a></dt>
<dd>
<div class="block">Returns the table columns, in the order they shall be rendered by default.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#getColumns()">getColumns()</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Returns the table columns to parse and format, or <code>null</code> for the default list of columns.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#getColumnSeparatorMatcher(java.lang.CharSequence)">getColumnSeparatorMatcher(CharSequence)</a></span> - Method in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">Returns a matcher for the column separators in the given text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#getColumnSeparatorPattern()">getColumnSeparatorPattern()</a></span> - Method in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">Returns the pattern of characters used in column separators.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/InvalidCommandException.html#getCommand()">getCommand()</a></span> - Method in exception <a href="org/apache/sis/console/InvalidCommandException.html" title="class in org.apache.sis.console">InvalidCommandException</a></dt>
<dd>
<div class="block">Returns the name of the invalid command.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#getCompletedParameters()">getCompletedParameters()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Returns the parameter values used for the math transform creation, including the parameters completed
 by the factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getComponentAt(org.opengis.referencing.crs.CoordinateReferenceSystem,int,int)">getComponentAt(CoordinateReferenceSystem, int, int)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the coordinate reference system in the given range of dimension indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#getComponents()">getComponents()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Returns the ordered list of coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html#getComponents()">getComponents()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCompoundCS.html" title="class in org.apache.sis.referencing.cs">DefaultCompoundCS</a></dt>
<dd>
<div class="block">Returns all coordinate systems in this compound CS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#getCompressionGenerationQuantity()">getCompressionGenerationQuantity()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the count of the number of lossy compression cycles performed on the image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#getConceptIdentifier()">getConceptIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Returns the URI of concept in the ontology specified by the <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#getOntology()">ontology</a> citation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getCondition()">getCondition()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Condition under which the extended element is mandatory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#getConnectPoints()">getConnectPoints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Returns the handle for accessing the service interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getConstantAzimuth()">getConstantAzimuth()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Computes the angular heading of a rhumb line path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getConstraintApplicationScope()">getConstraintApplicationScope()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Returns the spatial and / or temporal extents and or levels of the application
 of the constraints restrictions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#getConstraintLanguage()">getConstraintLanguage()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Formal language used in Application Schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#getContactInfo()">getContactInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></dt>
<dd>
<div class="block">Returns the contact information for the party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#getContactInfo()">getContactInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#getContactInfo()"><code>AbstractParty.getContactInfo()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getContactInstructions()">getContactInstructions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Returns supplemental instructions on how or when to contact the individual or organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getContacts()">getContacts()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the parties responsible for the metadata information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getContacts()">getContacts()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Returns identification of, and means of communicating with,
 person(s) and organization(s) with responsibility for maintaining the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getContactType()">getContactType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Type of the contact.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#getContainer()">getContainer()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Returns the schema that contains this record type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getContainsChain()">getContainsChain()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Provides information about the chain applied by the service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getContainsOperations()">getContainsOperations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Provides information about the operations that comprise the service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getContentInfo()">getContentInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information about the feature catalogue and describes the coverage and
 image data characteristics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#getContentLevel()">getContentLevel()</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Returns the amount of information to put in the table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#getContentType()">getContentType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, moved to <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#getContentTypes()"><code>DefaultAttributeGroup.getContentTypes()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#getContentTypes()">getContentTypes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html" title="class in org.apache.sis.metadata.iso.content">DefaultAttributeGroup</a></dt>
<dd>
<div class="block">Returns the types of information represented by the value(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#getContext()">getContext()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Meaning of the event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#getContextualParameters()">getContextualParameters()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Returns the parameters used for creating the complete map projection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#getContextualParameters()">getContextualParameters()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Returns the parameters for a sequence of <cite>normalize</cite> → <code>this</code> → <cite>denormalize</cite>
 transforms (<i>optional operation</i>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html#getContextualParameters()">getContextualParameters()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html" title="class in org.apache.sis.referencing.operation.transform">DatumShiftTransform</a></dt>
<dd>
<div class="block">Returns the parameters used for creating the complete transformation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#getContextualParameters()">getContextualParameters()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Returns the parameters used for creating the complete conversion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#getControlPoint(int%5B%5D)">getControlPoint(int[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Returns a single target coordinate for the given source coordinate, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#getControlPoint(int,int)">getControlPoint(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns a single target coordinate for the given source coordinate, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#getControlPoints()">getControlPoints()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Returns all control points as a map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#getConvention()">getConvention()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns the convention to use for formatting the WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getConvention()">getConvention()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the convention for parsing and formatting WKT elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#getConventionVersion()">getConventionVersion()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Returns the version number of the Climate and Forecast (CF) conventions used in the netCDF file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#getConversionFromBase()">getConversionFromBase()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Returns the conversion from the <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#getBaseCRS()">base CRS</a> to this CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#getConversionFromBase()">getConversionFromBase()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Returns the map projection from the <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#getBaseCRS()">base CRS</a> to this CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#getCoordinate()">getCoordinate()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Returns a sequence of numbers that hold the coordinate of this position in its reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#getCoordinate()">getCoordinate()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Returns a sequence of numbers that hold the coordinate of this position in its reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#getCoordinate()">getCoordinate()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Returns a sequence of numbers that hold the coordinate of this position in its reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#getCoordinate()">getCoordinate()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Returns a sequence of numbers that hold the coordinate of this position in its reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getCoordinateOperationAccuracy()">getCoordinateOperationAccuracy()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns an estimation of the impact of this operation on point accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridCoverage.html#getCoordinateReferenceSystem()">getCoordinateReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a></dt>
<dd>
<div class="block">Returns the coordinate reference system to which the values in grid domain are referenced.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#getCoordinateReferenceSystem()">getCoordinateReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns the "real world" coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#getCoordinateReferenceSystem()">getCoordinateReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Returns the coordinate reference system in which the coordinate is given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#getCoordinateReferenceSystem()">getCoordinateReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Returns the coordinate reference system in which the coordinate is given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getCoordinateReferenceSystem()">getCoordinateReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the coordinate reference system in which the coordinates are given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#getCoordinateReferenceSystem()">getCoordinateReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Returns the coordinate reference system in which the coordinate is given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#getCoordinateReferenceSystem()">getCoordinateReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Returns the coordinate reference system in which the ground control points are defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs">DefaultEngineeringCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeographicCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs">DefaultImageCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultParametricCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html#getCoordinateSystem()">getCoordinateSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultVerticalCRS</a></dt>
<dd>
<div class="block">Returns the coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getCoordinateToGrid()">getCoordinateToGrid()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns the conversion from the source coordinates (in "real world" units) to grid indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getCoordinateUnit()">getCoordinateUnit()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns the unit of measurement of input values, before conversion to grid indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#getCornerPoints()">getCornerPoints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns the Earth location in the coordinate system defined by the Spatial Reference System
 and the grid coordinate of the cells at opposite ends of grid coverage along two diagonals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#getCountry()">getCountry()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Returns the country of the physical address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getCoupledResources()">getCoupledResources()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns further description(s) of the data coupling in the case of tightly coupled services.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getCouplingType()">getCouplingType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns type of coupling between service and associated data (if exist).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getCredits()">getCredits()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns the recognition of those who contributed to the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#getCRS()">getCRS()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Returns the coordinate reference system associated to attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getCurrency()">getCurrency()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Returns the monetary units of the <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getFees()"><code>fees</code></a> (as specified in ISO 4217).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataCopier.html#getCurrentPropertyPath()">getCurrentPropertyPath()</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataCopier.html" title="class in org.apache.sis.metadata">MetadataCopier</a></dt>
<dd>
<div class="block">Returns the path to the currently copied property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/Configuration.html#getDatabase()">getDatabase()</a></span> - Method in class <a href="org/apache/sis/setup/Configuration.html" title="class in org.apache.sis.setup">Configuration</a></dt>
<dd>
<div class="block">Returns the data source for the SIS-wide "SpatialMetadata" database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getDataQualityInfo()">getDataQualityInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns overall assessment of quality of a resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#getDataset()">getDataset()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Returns the dataset to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getDataSetUri()">getDataSetUri()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getIdentificationInfo()"><code>DefaultMetadata.getIdentificationInfo()</code></a> followed by
    <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getCitation()"><code>AbstractIdentification.getCitation()</code></a> followed by <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getOnlineResources()"><code>DefaultCitation.getOnlineResources()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getDataType()">getDataType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Code which identifies the kind of value provided in the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html#getDate()">getDate()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitationDate</a></dt>
<dd>
<div class="block">Returns the reference date for the cited resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getDate()">getDate()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115-1:2014, replaced by <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getStepDateTime()"><code>DefaultProcessStep.getStepDateTime()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#getDate(org.opengis.metadata.extent.Extent,double)">getDate(Extent, double)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns an instant in the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/Extent.html?is-external=true#getTemporalElements()" title="class or interface in org.opengis.metadata.extent" class="externalLink">temporal elements</a> of the given extent,
 or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getDateInfo()">getDateInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the date(s) associated with the metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getDateOfNextUpdate()">getDateOfNextUpdate()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getMaintenanceDates()"><code>DefaultMaintenanceInformation.getMaintenanceDates()</code></a> in order to enable inclusion
             of a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/DateType.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink"><code>DateType</code></a> to describe the type of the date. The associated date type is
             <code>DateType.valueOf("NEXT_UPDATE")</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getDates()">getDates()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the reference date for the cited resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#getDates()">getDates()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns the date or range of dates on which a data quality measure was applied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getDateStamp()">getDateStamp()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getDateInfo()"><code>DefaultMetadata.getDateInfo()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html#getDateType()">getDateType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitationDate</a></dt>
<dd>
<div class="block">Returns the event used for reference date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Returns the datum of the <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#getBaseCRS()">base CRS</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs">DefaultEngineeringCRS</a></dt>
<dd>
<div class="block">Returns the datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeocentricCRS</a></dt>
<dd>
<div class="block">Returns the geodetic datum associated to this geocentric CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeographicCRS</a></dt>
<dd>
<div class="block">Returns the geodetic datum associated to this geographic CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs">DefaultImageCRS</a></dt>
<dd>
<div class="block">Returns the datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultParametricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultParametricCRS</a></dt>
<dd>
<div class="block">Returns the datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Returns the datum of the <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#getBaseCRS()">base CRS</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Returns the datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html#getDatum()">getDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultVerticalCRS</a></dt>
<dd>
<div class="block">Returns the datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#getDebugLevel()">getDebugLevel()</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Returns the level for <a href="org/apache/sis/util/logging/LoggerAdapter.html#entering(java.lang.String,java.lang.String)"><code>entering(…)</code></a>, <a href="org/apache/sis/util/logging/LoggerAdapter.html#exiting(java.lang.String,java.lang.String)"><code>exiting(…)</code></a>
 and <a href="org/apache/sis/util/logging/LoggerAdapter.html#throwing(java.lang.String,java.lang.String,java.lang.Throwable)"><code>throwing(…)</code></a> methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getDefault()">getDefault()</a></span> - Static method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the default set of symbols.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#getDefaultCRS()">getDefaultCRS()</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Returns the coordinate reference system to use if no CRS is explicitly associated to a given <code>DirectPosition</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#getDefaultParameters(java.lang.String)">getDefaultParameters(String)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Returns the default parameter values for a math transform using the given operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#getDefaultValue()">getDefaultValue()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Returns the default value for the attribute, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#getDefaultValue()">getDefaultValue()</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Returns the default value for the characteristic, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#getDefaultValue()">getDefaultValue()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Returns the default value for the attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getDefaultValue()">getDefaultValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Returns the default value for the parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#getDefaultValue(int%5B%5D)">getDefaultValue(int[])</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns the default value for the parameter descriptor at the given indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#getDefinition()">getDefinition()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Returns a concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#getDefinition()">getDefinition()</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Returns a concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#getDefinition()">getDefinition()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Returns the description of a set of specific range elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getDefinition()">getDefinition()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Definition of the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getDefinition()">getDefinition()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the way in which location instances are defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#getDeliveryPoints()">getDeliveryPoints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Returns the address line for the location (as described in ISO 11180, Annex A).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#getDenominator()">getDenominator()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns the denominator of this representative fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getDensities()">getDensities()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getDensity()"><code>DefaultMedium.getDensity()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getDensity()">getDensity()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Returns the density at which the data is recorded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getDensityUnits()">getDensityUnits()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Returns the units of measure for the recording density.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractOperation.html#getDependencies()">getDependencies()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></dt>
<dd>
<div class="block">Returns the names of feature properties that this operation needs for performing its task.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#getDependsOn()">getDependsOn()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Returns the list of operation that must be completed immediately before current operation is invoked.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#getDepth()">getDepth()</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Returns the maximum depth of the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Returns optional information beyond that required for concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Returns optional information beyond that required for concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Returns the textual description of the instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the description of the mission on which the platform observations are made and the
 objectives of that mission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Gets the narrative description of the platform supporting the instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Returns the detailed text description of what the online resource is/does.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Returns the description of the attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Returns the natural language description of the meaning of the code value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Returns a brief description of a set of distribution options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Returns the spatial and temporal extent for the referring object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Returns a narrative explanation of the services in the chain and resulting output.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultAlgorithm</a></dt>
<dd>
<div class="block">Returns the information describing the algorithm used to generate the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the description of the event, including related parameters or tolerances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Returns the textual description of what occurred during the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns a detailed description of the level of the source data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns a narrative explanation of the role of this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Natural language description of the meaning of the code value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/WarningEvent.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/storage/event/WarningEvent.html" title="class in org.apache.sis.storage.event">WarningEvent</a></dt>
<dd>
<div class="block">Returns the warning message together with stack trace (if any) and other information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordSchema.html#getDescription()">getDescription()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordSchema.html" title="class in org.apache.sis.util.iso">DefaultRecordSchema</a></dt>
<dd>
<div class="block">Returns the dictionary of all (<var>name</var>, <var>record type</var>) pairs in this schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getDescription(java.lang.Class)">getDescription(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns a description for the given class, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getDescription(java.lang.Class,java.lang.String)">getDescription(Class&lt;?&gt;, String)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns a description for the given property, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getDescription(org.opengis.util.CodeList)">getDescription(CodeList&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the description of the given enumeration or code list value, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html#getDescriptionText(java.lang.String)">getDescriptionText(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/CommonAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">CommonAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a description of the object corresponding to a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#getDescriptionText(java.lang.String)">getDescriptionText(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Gets a description of the object corresponding to a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#getDescriptionText(java.lang.String)">getDescriptionText(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a description of the object corresponding to a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#getDescriptionText(java.lang.String)">getDescriptionText(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Returns a description of the object corresponding to a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#getDescriptionText(java.lang.String)">getDescriptionText(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Gets a description of the object corresponding to a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getDescriptiveKeywords()">getDescriptiveKeywords()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Provides category keywords, their type, and reference source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#getDescriptor()">getDescriptor()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, renamed <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#getDescription()"><code>DefaultRangeDimension.getDescription()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#getDescriptor()">getDescriptor()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns the definition of this parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#getDescriptor()">getDescriptor()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Returns the abstract definition of this group of parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#getDescriptor()">getDescriptor()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Returns the parameters for the <cite>normalize</cite> → <cite>non-linear kernel</cite> →
 <cite>denormalize</cite> sequence as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#getDescriptors(org.opengis.parameter.GeneralParameterValue...)">getDescriptors(GeneralParameterValue...)</a></span> - Static method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the descriptors of the given parameters, in the same order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#getDesignation()">getDesignation()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Returns a natural language designator for the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#getDesignation()">getDesignation()</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Returns a natural language designator for the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html#getDesiredAccuracy()">getDesiredAccuracy()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationContext</a></dt>
<dd>
<div class="block">Returns the desired accuracy in metres.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#getDesiredPrecision()">getDesiredPrecision()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns the desired precision of <em>inverse</em> transformations, in units of source coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getDetectedPolarization()">getDetectedPolarization()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns polarization of the radiation detected.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#getDimension()">getDimension()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns the number of dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#getDimension()">getDimension()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns the number of dimensions of the <em>grid</em>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#getDimension()">getDimension()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">The length of coordinate sequence (the number of entries).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#getDimension()">getDimension()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">The length of coordinate sequence (the number of entries).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getDimension()">getDimension()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the number of dimensions, which is always 2.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#getDimension()">getDimension()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">The length of coordinate sequence (the number of entries).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#getDimension()">getDimension()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Returns the number of dimensions of this coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#getDimensionDescription()">getDimensionDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Return the axis dimension description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#getDimensionDescriptor(int)">getDimensionDescriptor(int)</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns the parameter descriptor for the dimension at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#getDimensionName()">getDimensionName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Returns the name of the axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#getDimensions()">getDimensions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, moved to <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#getAttributes()"><code>DefaultAttributeGroup.getAttributes()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#getDimensionSize()">getDimensionSize()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Returns the number of elements along the axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#getDimensionTitle()">getDimensionTitle()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Returns the enhancement / modifier of the dimension name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getDirection()">getDirection()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns the direction of this coordinate system axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxisFilter.html#getDirectionReplacement(org.opengis.referencing.cs.CoordinateSystemAxis,org.opengis.referencing.cs.AxisDirection)">getDirectionReplacement(CoordinateSystemAxis, AxisDirection)</a></span> - Method in interface <a href="org/apache/sis/referencing/cs/AxisFilter.html" title="interface in org.apache.sis.referencing.cs">AxisFilter</a></dt>
<dd>
<div class="block">Returns a replacement for the given axis direction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#getDirectPosition()">getDirectPosition()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Returns always <code>this</code>, the direct position for this
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/coordinate/Position.html?is-external=true" title="class or interface in org.opengis.geometry.coordinate" class="externalLink">position</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#getDirectPosition()">getDirectPosition()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Returns always <code>this</code>, the direct position for this
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/coordinate/Position.html?is-external=true" title="class or interface in org.opengis.geometry.coordinate" class="externalLink">position</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#getDisplayName()">getDisplayName()</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Returns a short name or label for this data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html#getDisseminationConstraints()">getDisseminationConstraints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultReleasability</a></dt>
<dd>
<div class="block">Components in determining releasability.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html#getDisseminationConstraints(java.util.Collection)">getDisseminationConstraints(Collection&lt;? extends Restriction&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultReleasability</a></dt>
<dd>
<div class="block">Sets the components in determining releasability.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#getDistance()">getDistance()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Returns the ground sample distance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getDistanceUnit()">getDistanceUnit()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns the unit of measurement of all distance measurements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#getDistributedComputingPlatforms()">getDistributedComputingPlatforms()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Returns the distributed computing platforms (DCPs) on which the operation has been implemented.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#getDistributionFormats()">getDistributionFormats()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Returns the formats of distribution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#getDistributionFormats()">getDistributionFormats()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Provides a description of the format of the data to be distributed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getDistributionInfo()">getDistributionInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information about the distributor of and options for obtaining the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#getDistributionOrderProcesses()">getDistributionOrderProcesses()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Provides information about how the resource may be obtained,
 and related instructions and fee information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#getDistributorContact()">getDistributorContact()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Party from whom the resource may be obtained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#getDistributorFormats()">getDistributorFormats()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Provides information about the format used by the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#getDistributors()">getDistributors()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Provides information about the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#getDistributorTransferOptions()">getDistributorTransferOptions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Provides information about the technical means and media used by the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#getDocumentations()">getDocumentations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Returns the reference to documentation describing the processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getDomain()">getDomain()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the pixel coordinates of the region where this iterator is doing the iteration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getDomainCode()">getDomainCode()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Removed as of ISO 19115:2014.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractReferenceSystem.html#getDomainOfValidity()">getDomainOfValidity()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractReferenceSystem.html" title="class in org.apache.sis.referencing">AbstractReferenceSystem</a></dt>
<dd>
<div class="block">Returns the region or timeframe in which this reference system is valid, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#getDomainOfValidity()">getDomainOfValidity()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Returns the region or timeframe in which this datum is valid, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#getDomainOfValidity()">getDomainOfValidity()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Returns the region or timeframe in which a coordinate transformation based on those Bursa-Wolf parameters is
 valid, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getDomainOfValidity()">getDomainOfValidity()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns the domain of validity of input coordinates that can be specified to the
 <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#interpolateAt(double...)"><code>interpolateAt(…)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getDomainOfValidity()">getDomainOfValidity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns the area or region or timeframe in which this coordinate operation is valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getDomainOfValidity(org.opengis.referencing.crs.CoordinateReferenceSystem)">getDomainOfValidity(CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the domain of validity of the specified coordinate reference system, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getDomainValue()">getDomainValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Valid values that can be assigned to the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#getEastBoundLongitude()">getEastBoundLongitude()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Returns the eastern-most coordinate of the limit of the dataset extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getEccentricity()">getEccentricity()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">The ratio of the distance between the center and a focus of the ellipse to the length of its semi-major axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getEccentricitySquared()">getEccentricitySquared()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Returns the square of the <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getEccentricity()"><code>eccentricity</code></a> value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getEdition()">getEdition()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the version of the cited resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getEditionDate()">getEditionDate()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the date of the edition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#getElectronicMailAddresses()">getElectronicMailAddresses()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Returns the address of the electronic mailbox of the responsible organization or individual.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#getElement(int,int)">getElement(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Retrieves the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#getElement(int,int)">getElement(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Retrieves the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#getElement(int,int)">getElement(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Retrieves the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#getElement(int,int)">getElement(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Retrieves the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#getElement(int,int)">getElement(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Retrieves the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#getElementDescriptor(int...)">getElementDescriptor(int...)</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns the parameter descriptor for a matrix or tensor element at the given indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#getElementPattern(boolean)">getElementPattern(boolean)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Returns the pattern used by <a href="org/apache/sis/measure/RangeFormat.html#elementFormat"><code>RangeFormat.elementFormat</code></a> for formatting the minimum and
 maximum values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#getElements()">getElements()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Returns all matrix elements in a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#getElements()">getElements()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Returns all matrix elements in a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#getElements()">getElements()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Returns all matrix elements in a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#getElements()">getElements()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Returns all matrix elements in a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#getElements()">getElements()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns a copy of all matrix elements in a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the type of elements in this vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns the base type of elements in this range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns the type of tensor element values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Returns the type of <code>IdentifiedObject</code> included in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Returns the type of values associated to this option key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CheckedContainer.html#getElementType()">getElementType()</a></span> - Method in interface <a href="org/apache/sis/util/collection/CheckedContainer.html" title="interface in org.apache.sis.util.collection">CheckedContainer</a></dt>
<dd>
<div class="block">Returns the base type of all elements in this container.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Returns the type of code list elements in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns the type of elements in this <em>collection</em>, which is always <code>Range</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Returns the base type of all values in any column identified by this <code>TableColumn</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#getElementType()">getElementType()</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Returns the type of elements in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#getEllipsoid()">getEllipsoid()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Returns the ellipsoid given at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#getEnclosingElement(int)">getEnclosingElement(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns the enclosing WKT element, or <code>null</code> if element being formatted is the root.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getEndingAzimuth()">getEndingAzimuth()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Computes the angular heading at the ending point of a geodesic path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getEndPoint()">getEndPoint()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns or computes the destination in the CRS specified at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#getEndTime()">getEndTime()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Returns the end date and time for the content of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#getEnumConstant(java.lang.Class)">getEnumConstant(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns a numeric constant for the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#getEnvelope()">getEnvelope()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns the bounding box of "real world" coordinates for this grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getEnvelope()">getEnvelope()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns an envelope that encompass the location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataSet.html#getEnvelope()">getEnvelope()</a></span> - Method in interface <a href="org/apache/sis/storage/DataSet.html" title="interface in org.apache.sis.storage">DataSet</a></dt>
<dd>
<div class="block">Returns the spatiotemporal extent of this resource in its most natural coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#getEnvironmentalConditions()">getEnvironmentalConditions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Returns a record of the environmental circumstances during the data acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#getEnvironmentDescription()">getEnvironmentDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Returns a description of the resource in the producer's processing environment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#getEpsgCode(java.lang.Class,org.opengis.referencing.cs.CoordinateSystemAxis...)">getEpsgCode(Class&lt;? extends CoordinateSystem&gt;, CoordinateSystemAxis...)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns the EPSG code of a coordinate system using the units and directions of given axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#getEpsgCode(javax.measure.Unit,boolean)">getEpsgCode(Unit&lt;?&gt;, boolean)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns the EPSG code of the given units, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#getEpsgCode(javax.measure.Unit,org.opengis.referencing.cs.AxisDirection...)">getEpsgCode(Unit&lt;?&gt;, AxisDirection...)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns the EPSG code of a coordinate system using the given unit and axis directions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#getEquivalentScale()">getEquivalentScale()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Returns the level of detail expressed as the scale of a comparable hardcopy map or chart.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#getErrorStatistic()">getErrorStatistic()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Returns the statistical method used to determine the value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#getEvaluationMethodDescription()">getEvaluationMethodDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns the description of the evaluation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#getEvaluationMethodType()">getEvaluationMethodType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns the type of method used to evaluate quality of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#getEvaluationProcedure()">getEvaluationProcedure()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns the reference to the procedure information, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getException(int)">getException(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns the exception which was the cause of the message at the given index, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getExceptions()">getExceptions()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns the non-fatal exceptions that occurred during the parsing or formatting.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getExceptionSource(java.lang.Exception)">getExceptionSource(Exception)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns the keywords of the WKT element where the given exception occurred, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#getExpectedObjectives()">getExpectedObjectives()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Returns the objective or objectives satisfied by an event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#getExpiryDate()">getExpiryDate()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns the date and time after which collection is no longer valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#getExplanation()">getExplanation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Returns the explanation of the meaning of conformance for this result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#getExponent(double)">getExponent(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the unbiased exponent used in the representation of a <code>double</code>, with correction for
 sub-normal numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html#getExtendedElementInformation()">getExtendedElementInformation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataExtensionInformation</a></dt>
<dd>
<div class="block">Provides information about a new metadata element, not found in ISO 19115,
 which is required to describe resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html#getExtensionOnLineResource()">getExtensionOnLineResource()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataExtensionInformation</a></dt>
<dd>
<div class="block">Information about on-line sources containing the community profile name and
 the extended metadata elements and information for all new metadata elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#getExtent()">getExtent()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns the valid coordinate range of a grid coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#getExtent()">getExtent()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Returns the area covered by the pass.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#getExtent()">getExtent()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Returns the date and time for the content of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#getExtent()">getExtent()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#getExtents()"><code>DefaultScope.getExtents()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#getExtents()">getExtents()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns the extent information including the bounding box, bounding polygon, vertical and
 temporal extent of the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#getExtents()">getExtents()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Returns the spatial or temporal extents of the role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getExtents()">getExtents()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns the spatial and temporal extent of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#getExtents()">getExtents()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Returns information about the spatial, vertical and temporal extents of the resource specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#getFacsimiles()">getFacsimiles()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by a <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#getNumber()">number</a>
             code <code>TelephoneType.FACSIMILE</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getFactory(java.lang.Class)">getFactory(Class&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns one of the factories used by this <code>WKTFormat</code> for parsing WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#getFeatureCatalogueCitations()">getFeatureCatalogueCitations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Returns the complete bibliographic reference to one or more external feature catalogues.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html#getFeatureInstanceCount()">getFeatureInstanceCount()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureTypeInfo</a></dt>
<dd>
<div class="block">Returns the number of occurrence of feature instances for this feature types, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#getFeatureInstances()">getFeatureInstances()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Returns the feature instances to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#getFeatures()">getFeatures()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Returns the feature types to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#getFeatureTypeInfo()">getFeatureTypeInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Returns the subset of feature types from cited feature catalogue occurring in resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html#getFeatureTypeName()">getFeatureTypeName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureTypeInfo</a></dt>
<dd>
<div class="block">Returns the name of the feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#getFeatureTypes()">getFeatureTypes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#getFeatureTypeInfo()"><code>DefaultFeatureCatalogueDescription.getFeatureTypeInfo()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#getFeatureTypes()">getFeatureTypes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Returns the list of feature types concerned by the transfer data file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getFees()">getFees()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Returns fees and terms for retrieving the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFileDecompressionTechnique()">getFileDecompressionTechnique()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Returns recommendations of algorithms or processes that can be applied to read or
 expand resources to which compression techniques have been applied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#getFileDescription()">getFileDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Returns the text description of the file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#getFileDescription()">getFileDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Returns the text description of the illustration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#getFileExtension()">getFileExtension()</a></span> - Method in class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Returns the filename extension of the input/output object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#getFileFormat()">getFileFormat()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Removed in latest XSD schemas.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getFileIdentifier()">getFileIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataIdentifier()"><code>DefaultMetadata.getMetadataIdentifier()</code></a>
   in order to include the codespace attribute.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTreeData.html#getFileName()">getFileName()</a></span> - Method in interface <a href="org/apache/sis/index/tree/QuadTreeData.html" title="interface in org.apache.sis.index.tree">QuadTreeData</a></dt>
<dd>
<div class="block">Returns the name of the file where the entry's info is saved.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#getFileName()">getFileName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Returns the name or path of the file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#getFileName()">getFileName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Returns the name of the file that contains a graphic that provides an illustration of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#getFileType()">getFileType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Format in which the file is encoded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#getFileType()">getFileType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Format in which the illustration is encoded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#getFileType()">getFileType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Returns the type of file that contains the processing report.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#getFlip(java.awt.geom.AffineTransform)">getFlip(AffineTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Returns <code>-1</code> if one axis has been flipped, <code>+1</code> if no axis has been flipped, or 0 if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.html#getFormat()">getFormat()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem</a></dt>
<dd>
<div class="block">Returns the encoding/decoding format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#getFormat()">getFormat()</a></span> - Method in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Returns a description of the data format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#getFormat(java.lang.Class)">getFormat(Class&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Returns the format to use for parsing and formatting values of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFormatDistributors()">getFormatDistributors()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Provides information about the distributor's format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFormatSpecificationCitation()">getFormatSpecificationCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Returns the citation / URL of the specification format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#getFormula()">getFormula()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Returns the formula(s) or procedure used by the operation method, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#getFormula()">getFormula()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Formula(s) or procedure used by this operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getFragmentNames()">getFragmentNames()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the name of all WKT fragments known to this <code>WKTFormat</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getFrom()">getFrom()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns the starting resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#getFunction()">getFunction()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Returns the code for function performed by the online resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#getFunctions()">getFunctions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns the role or purpose performed by or activity performed at the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#getGCPs()">getGCPs()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Returns the ground control point(s) used in the collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getGeodesicDistance()">getGeodesicDistance()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns or computes the shortest distance from start point to end point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#getGeographicBoundingBox(org.opengis.metadata.extent.Extent)">getGeographicBoundingBox(Extent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns a single geographic bounding box from the specified extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getGeographicBoundingBox(org.opengis.referencing.crs.CoordinateReferenceSystem)">getGeographicBoundingBox(CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the valid geographic area for the given coordinate reference system, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getGeographicBoundingBox(org.opengis.referencing.operation.CoordinateOperation)">getGeographicBoundingBox(CoordinateOperation)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the valid geographic area for the given coordinate operation, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html#getGeographicCoordinates()">getGeographicCoordinates()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCP</a></dt>
<dd>
<div class="block">Returns the geographic or map position of the control point, in either two or three dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getGeographicCRS()">getGeographicCRS()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns the coordinate reference system for all methods expecting (φ,λ) as <code>double</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#getGeographicElements()">getGeographicElements()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Provides geographic component of the extent of the referring object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#getGeographicExtent()">getGeographicExtent()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns the approximate latitude and longitude coordinates of the grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getGeographicExtent()">getGeographicExtent()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns a description of the location instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html#getGeographicIdentifier()">getGeographicIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicDescription</a></dt>
<dd>
<div class="block">Returns the identifier used to represent a geographic area.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getGeographicIdentifier()">getGeographicIdentifier()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns a unique identifier for the location instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#getGeolocationInformation()">getGeolocationInformation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Returns the information that can be used to geolocate the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html#getGeometricObjectCount()">getGeometricObjectCount()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeometricObjects</a></dt>
<dd>
<div class="block">Returns the total number of the point or vector object type occurring in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html#getGeometricObjects()">getGeometricObjects()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultVectorSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns information about the geometric objects used in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html#getGeometricObjectType()">getGeometricObjectType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeometricObjects</a></dt>
<dd>
<div class="block">Returns the total number of the point or vector object type occurring in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#getGeoreferencedParameters()">getGeoreferencedParameters()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Returns the terms which support grid data georeferencing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#getGlobalScale()">getGlobalScale()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Returns an <em>estimation</em> of the scale factor when converting sub-grid coordinates to <a href="org/apache/sis/coverage/grid/GridDerivation.html#base"><code>GridDerivation.base</code></a> grid coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getGraphicOverviews()">getGraphicOverviews()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Provides a graphic that illustrates the resource(s) (should include a legend for the graphic).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getGraphics()">getGraphics()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns citation graphics or logo for cited party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getGraphics()">getGraphics()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Returns the graphics / symbols indicating the constraint.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#getGraphicsFile()">getGraphicsFile()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Full application schema given as a graphics file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#getGreenwichLongitude()">getGreenwichLongitude()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Longitude of the prime meridian measured from the Greenwich meridian, positive eastward.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#getGreenwichLongitude(javax.measure.Unit)">getGreenwichLongitude(Unit&lt;Angle&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Returns the longitude value relative to the Greenwich Meridian, expressed in the specified units.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getGreenwichLongitude(org.opengis.referencing.crs.GeodeticCRS)">getGreenwichLongitude(GeodeticCRS)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the Greenwich longitude of the prime meridian of the given CRS in degrees.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridCoverage.html#getGridGeometry()">getGridGeometry()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a></dt>
<dd>
<div class="block">Returns information about the <cite>domain</cite> of this grid coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/GridCoverageResource.html#getGridGeometry()">getGridGeometry()</a></span> - Method in interface <a href="org/apache/sis/storage/GridCoverageResource.html" title="interface in org.apache.sis.storage">GridCoverageResource</a></dt>
<dd>
<div class="block">Returns the valid extent of grid coordinates together with the conversion from those grid
 coordinates to real world coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getGridSize()">getGridSize()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns the number of cells along each axis in the grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#getGridToCRS(org.opengis.referencing.datum.PixelInCell)">getGridToCRS(PixelInCell)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns the conversion from grid coordinates to "real world" coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html#getGroundResolution()">getGroundResolution()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultNominalResolution</a></dt>
<dd>
<div class="block">Returns the distance between consistent parts of (centre, left side, right side) adjacent
 pixels in the object space.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#getHandlingDescription()">getHandlingDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Returns the additional information about the restrictions on handling the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html#getHashLength()">getHashLength()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Returns the length of geohashes strings to be encoded by the <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html#encode(org.opengis.geometry.DirectPosition)"><code>GeohashReferenceSystem.Coder.encode(DirectPosition)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/distance/DistanceUtils.html#getHaversineDistance(double,double,double,double)">getHaversineDistance(double, double, double, double)</a></span> - Static method in class <a href="org/apache/sis/distance/DistanceUtils.html" title="class in org.apache.sis.distance">DistanceUtils</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/referencing/GeodeticCalculator.html#getGeodesicDistance()"><code>GeodeticCalculator.getGeodesicDistance()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#getHeader()">getHeader()</a></span> - Method in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Returns the text to display as column header.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#getHeader()">getHeader()</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Returns the string to write on the left side of the first line of every log records, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getHeight()">getHeight()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/geometry/Envelope2D.html#getSpan(int)">span</a> for dimension 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getHierarchyLevelNames()">getHierarchyLevelNames()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataScopes()"><code>DefaultMetadata.getMetadataScopes()</code></a>
   followed by <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#getName()"><code>DefaultMetadataScope.getName()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getHierarchyLevels()">getHierarchyLevels()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataScopes()"><code>DefaultMetadata.getMetadataScopes()</code></a>
   followed by <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#getResourceScope()"><code>DefaultMetadataScope.getResourceScope()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#getHigh(int)">getHigh(int)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns the valid maximum <strong>inclusive</strong> grid coordinate along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getHorizontalComponent(org.opengis.referencing.crs.CoordinateReferenceSystem)">getHorizontalComponent(CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the first horizontal coordinate reference system found in the given CRS, or <code>null</code> if there is
 none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getHoursOfService()">getHoursOfService()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Returns the time period (including time zone) when individuals can contact the organization or individual.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getHRef()">getHRef()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns a URN to an external resources, or to an other part of a XML document, or an identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getIdentificationInfo()">getIdentificationInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns basic information about the resource(s) to which the metadata applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getIdentifications()">getIdentifications()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the method(s) of uniquely identifying location instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#getIdentifiedIssues()">getIdentifiedIssues()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Citation of a description of known issues associated with the resource
 along with proposed solutions if available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Returns the event name or number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Returns the unique identification of the instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the unique identification of the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Returns the unique identification of the platform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Returns the unique name of the pass.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns the unique name, or code, for the requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Returns a unique identifier for an instance of the medium.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">Returns the first identifier which is presumed to be defined by ISO 19115 conceptual model.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Returns the information to identify the processing package that produced the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Returns an identifier for the root resource of this data store, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStore.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation">LandsatStore</a></dt>
<dd>
<div class="block">Returns the value associated to <code>LANDSAT_SCENE_ID</code> in the Landsat metadata file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStore</a></dt>
<dd>
<div class="block">Returns an identifier constructed from the name of the TIFF file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Returns an identifier constructed from global attributes or the filename of the netCDF file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/Resource.html#getIdentifier()">getIdentifier()</a></span> - Method in interface <a href="org/apache/sis/storage/Resource.html" title="interface in org.apache.sis.storage">Resource</a></dt>
<dd>
<div class="block">Returns the resource persistent identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStore.html#getIdentifier()">getIdentifier()</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql">SQLStore</a></dt>
<dd>
<div class="block">SQL data store root resource has no identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#getIdentifier(org.opengis.metadata.citation.Citation)">getIdentifier(Citation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">Infers an identifier from the given citation, or returns <code>null</code> if no identifier has been found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#getIdentifier(org.opengis.referencing.IdentifiedObject,org.opengis.metadata.citation.Citation)">getIdentifier(IdentifiedObject, Citation)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns an identifier for the given object according the given authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#getIdentifierMap()">getIdentifierMap()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns a map view of the <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#getIdentifiers()">identifiers</a> collection as (<var>authority</var>,
 <var>code</var>) entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#getIdentifierMap()">getIdentifierMap()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">A map view of the <a href="org/apache/sis/xml/IdentifiedObject.html#getIdentifiers()">identifiers</a> collection
 as (<var>authority</var>, <var>code</var>) entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifiedObject.html#getIdentifierMap()">getIdentifierMap()</a></span> - Method in interface <a href="org/apache/sis/xml/IdentifiedObject.html" title="interface in org.apache.sis.xml">IdentifiedObject</a></dt>
<dd>
<div class="block">A map view of the <a href="org/apache/sis/xml/IdentifiedObject.html#getIdentifiers()">identifiers</a> collection
 as (<var>authority</var>, <var>code</var>) entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#getIdentifierOrName(org.opengis.referencing.IdentifiedObject)">getIdentifierOrName(IdentifiedObject)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns the string representation of the first identifier, or the object name if there is no identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#getIdentifiers()">getIdentifiers()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns the code used to identify the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getIdentifiers()">getIdentifiers()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the unique identifier for the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#getIdentifiers()">getIdentifiers()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns all identifiers associated to this object, or an empty collection if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#getIdentifiers()">getIdentifiers()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">Returns all identifiers associated to this object (from conceptual model and from XML document).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getIdentifiers()">getIdentifiers()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns identifiers which references elsewhere the object's defining information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifiedObject.html#getIdentifiers()">getIdentifiers()</a></span> - Method in interface <a href="org/apache/sis/xml/IdentifiedObject.html" title="interface in org.apache.sis.xml">IdentifiedObject</a></dt>
<dd>
<div class="block">Returns all identifiers associated to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#getIlluminationAzimuthAngle()">getIlluminationAzimuthAngle()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the illumination azimuth measured in degrees clockwise from true north at the time the image is taken.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#getIlluminationElevationAngle()">getIlluminationElevationAngle()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">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.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#getImageConstraints()">getImageConstraints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Returns the restrictions on access and / or use of browse graphic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#getImageQualityCode()">getImageQualityCode()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns a code in producer’s codespace that specifies the image quality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#getImagingCondition()">getImagingCondition()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the conditions which affected the image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#getImplementation(java.lang.Class)">getImplementation(Class&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns the implementation class for the given interface, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerFactory.html#getImplementation(java.lang.String)">getImplementation(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerFactory.html" title="class in org.apache.sis.util.logging">LoggerFactory</a></dt>
<dd>
<div class="block">Returns the implementation to use for the logger of the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerFactory.html#getImplementationClass()">getImplementationClass()</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerFactory.html" title="class in org.apache.sis.util.logging">LoggerFactory</a></dt>
<dd>
<div class="block">Returns the base class of objects to be returned by <a href="org/apache/sis/util/logging/LoggerFactory.html#getImplementation(java.lang.String)"><code>LoggerFactory.getImplementation(String)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html#getInclusion()">getInclusion()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a></dt>
<dd>
<div class="block">Indication of whether the bounding polygon encompasses an area covered by the data
 (<cite>inclusion</cite>) or an area where data is not present (<cite>exclusion</cite>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getIndentation()">getIndentation()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the current indentation to be used for formatting objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#getIndentation()">getIndentation()</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Returns the number of spaces to add on the left margin for each indentation level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html#getIndividual()">getIndividual()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOrganisation</a></dt>
<dd>
<div class="block">Returns the individuals in the named organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#getIndividualName()">getIndividualName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <code>getName()</code> in <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html" title="class in org.apache.sis.metadata.iso.citation"><code>DefaultIndividual</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#getInitiativeType()">getInitiativeType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Returns the type of initiative under which the associated resource was produced, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#getInstance()">getInstance()</a></span> - Static method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Returns an instance for the current system default locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#getInstance()">getInstance()</a></span> - Static method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Constructs a new <code>AngleFormat</code> for the default pattern and the current default locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#getInstance(java.util.Locale)">getInstance(Locale)</a></span> - Static method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Returns an instance for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#getInstance(java.util.Locale)">getInstance(Locale)</a></span> - Static method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Constructs a new <code>AngleFormat</code> for the default pattern and the specified locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#getInstruments()">getInstruments()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Returns the general information about the instrument used in data acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#getInstruments()">getInstruments()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Gets the instrument(s) mounted on a platform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#getInt(int)">getInt(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns the element at the given index as the <code>int</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Returns the metadata interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptorGroup</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractReferenceSystem.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractReferenceSystem.html" title="class in org.apache.sis.referencing">AbstractReferenceSystem</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/AbstractCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">AbstractCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultDerivedCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultEngineeringCRS.html" title="class in org.apache.sis.referencing.crs">DefaultEngineeringCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeocentricCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeocentricCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultGeographicCRS.html" title="class in org.apache.sis.referencing.crs">DefaultGeographicCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultImageCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultImageCRS.html" title="class in org.apache.sis.referencing.crs">DefaultImageCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">DefaultProjectedCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultVerticalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultVerticalCRS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AbstractCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/AbstractCS.html" title="class in org.apache.sis.referencing.cs">AbstractCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultAffineCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultAffineCS.html" title="class in org.apache.sis.referencing.cs">DefaultAffineCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCartesianCS.html" title="class in org.apache.sis.referencing.cs">DefaultCartesianCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCylindricalCS.html" title="class in org.apache.sis.referencing.cs">DefaultCylindricalCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">DefaultEllipsoidalCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultLinearCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultLinearCS.html" title="class in org.apache.sis.referencing.cs">DefaultLinearCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultPolarCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultPolarCS.html" title="class in org.apache.sis.referencing.cs">DefaultPolarCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs">DefaultSphericalCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultTimeCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultTimeCS.html" title="class in org.apache.sis.referencing.cs">DefaultTimeCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultUserDefinedCS.html" title="class in org.apache.sis.referencing.cs">DefaultUserDefinedCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultVerticalCS.html" title="class in org.apache.sis.referencing.cs">DefaultVerticalCS</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEngineeringDatum.html" title="class in org.apache.sis.referencing.datum">DefaultEngineeringDatum</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum">DefaultImageDatum</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultTemporalDatum</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultVerticalDatum</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultConversion.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation">DefaultConversion</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultTransformation.html#getInterface()">getInterface()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultTransformation.html" title="class in org.apache.sis.referencing.operation">DefaultTransformation</a></dt>
<dd>
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#getInterface(java.lang.Class)">getInterface(Class&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns the metadata interface implemented by the specified implementation class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnparsableObjectException.html#getInternationalMessage()">getInternationalMessage()</a></span> - Method in exception <a href="org/apache/sis/io/wkt/UnparsableObjectException.html" title="class in org.apache.sis.io.wkt">UnparsableObjectException</a></dt>
<dd>
<div class="block">If this exception is capable to return the message in various locales, returns that message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#getInternationalMessage()">getInternationalMessage()</a></span> - Method in exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">If this exception is capable to return the message in various locales, returns that message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/LocalizedException.html#getInternationalMessage()">getInternationalMessage()</a></span> - Method in interface <a href="org/apache/sis/util/LocalizedException.html" title="interface in org.apache.sis.util">LocalizedException</a></dt>
<dd>
<div class="block">If this exception is capable to return the message in various locales, returns that message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getInterpolationCRS()">getInterpolationCRS()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns the CRS which is neither the <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getSourceCRS()">source CRS</a> or
 <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getTargetCRS()">target CRS</a> but still required for performing the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#getIntersection()">getIntersection()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Returns the extent of the modified grid geometry, ignoring subsamplings or changes in resolution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getInverseFlattening()">getInverseFlattening()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Returns the value of the inverse of the flattening constant.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#getInvocationName()">getInvocationName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Returns the name used to invoke this interface within the context of the DCP.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getISBN()">getISBN()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the International Standard Book Number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getISSN()">getISSN()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the International Standard Serial Number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#getIssueIdentification()">getIssueIdentification()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Returns information identifying the issue of the series.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getKeywordCase()">getKeywordCase()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns whether WKT keywords should be written with upper cases or camel cases.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#getKeywordClass()">getKeywordClass()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Returns the user-defined categorization of groups of keywords that extend or
 are orthogonal to the standardized <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#getType()">keyword type</a> codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#getKeywords()">getKeywords()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Returns commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getKeywordStyle()">getKeywordStyle()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns whether to use short or long WKT keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getLabel()">getLabel()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns an identification of the target of a <code>from</code> or <code>to</code> attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLanguage()">getLanguage()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()">DefaultMetadata.getLocalesAndCharsets()</a>.keySet()</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#getLanguages()">getLanguages()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>getLocalesAndCharsets().keySet()</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLanguages()">getLanguages()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()">DefaultMetadata.getLocalesAndCharsets()</a>.keySet()</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#getLanguages()">getLanguages()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>getLocalesAndCharsets().keySet()</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#getLastMethodUsed()">getLastMethodUsed()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Returns the operation method used by the latest call to a <code>create(…)</code> constructor
 in the currently running thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html#getLatestAcceptableDate()">getLatestAcceptableDate()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequestedDate</a></dt>
<dd>
<div class="block">Returns the latest date and time collection must be completed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTreeData.html#getLatLon()">getLatLon()</a></span> - Method in interface <a href="org/apache/sis/index/tree/QuadTreeData.html" title="interface in org.apache.sis.index.tree">QuadTreeData</a></dt>
<dd>
<div class="block">Returns the latitude/longitude pair.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#getLeafInterfaces(java.lang.Class,java.lang.Class)">getLeafInterfaces(Class&lt;?&gt;, Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the interfaces implemented by the given class and assignable to the given base
 interface, or an empty array if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#getLevel()">getLevel()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Returns the hierarchical level of the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#getLevel()">getLevel()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Returns an indication of which property is set, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#getLevel()">getLevel()</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Returns the level for this logger.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#getLevelColor(java.util.logging.Level)">getLevelColor(Level)</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Returns the color used for the given level, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#getLevelDescription()">getLevelDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Returns detailed descriptions about the level of the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#getLevelOfDetail()">getLevelOfDetail()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Returns a brief textual description of the spatial resolution of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/ResourcesDownloader.html#getLicense(java.lang.String,java.util.Locale,java.lang.String)">getLicense(String, Locale, String)</a></span> - Method in class <a href="org/apache/sis/console/ResourcesDownloader.html" title="class in org.apache.sis.console">ResourcesDownloader</a></dt>
<dd>
<div class="block">Returns the terms of use of the dataset provided by the given authority, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/InstallationResources.html#getLicense(java.lang.String,java.util.Locale,java.lang.String)">getLicense(String, Locale, String)</a></span> - Method in class <a href="org/apache/sis/setup/InstallationResources.html" title="class in org.apache.sis.setup">InstallationResources</a></dt>
<dd>
<div class="block">Returns the terms of use of the resources distributed by the specified authority, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#getLineage()">getLineage()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Returns non-quantitative quality information about the lineage of the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getLinearAccuracy()">getLinearAccuracy()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns an estimation of positional accuracy in metres, or <code>NaN</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getLinearAccuracy(org.opengis.referencing.operation.CoordinateOperation)">getLinearAccuracy(CoordinateOperation)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns a positional accuracy estimation in metres for the given operation, or <code>NaN</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#getLineSeparator()">getLineSeparator()</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Returns the line separator to be sent to the underlying appendable,
 or <code>null</code> if EOL sequences are forwarded unchanged.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#getLineSeparator()">getLineSeparator()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Returns the line separator between table rows.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#getLineSeparator()">getLineSeparator()</a></span> - Method in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">Returns the current line separator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#getLinkage()">getLinkage()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Returns the location (address) for on-line access using a Uniform Resource Locator address or
 similar addressing scheme.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#getLinkages()">getLinkages()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Return the links to browse graphic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#getListeners()">getListeners()</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns all registered warning listeners, or an empty list if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getListName(org.opengis.util.CodeList)">getListName(CodeList&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the ISO classname (if available) or the Java classname (as a fallback) of the given
 enumeration or code list value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Returns the locale used for formatting error messages, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Returns the locale used by this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns the locale to use for localizing <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>InternationalString</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the locale for formatting dates and numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns the locale in which warning messages are reported by the default <a href="org/apache/sis/io/wkt/Warnings.html#toString()"><code>Warnings.toString()</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns this formatter locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Returns this formatter locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Returns the locale used by this <code>UnitFormat</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Returns the locale to use for error messages and warnings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Returns the locale used by this factory for producing error messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">Returns the locale used by this factory for producing error messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">The locale to use for formatting warnings and other messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreEvent.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreEvent.html" title="class in org.apache.sis.storage.event">StoreEvent</a></dt>
<dd>
<div class="block">Returns the locale associated to this event, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Returns the locale used by this manager, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Localized.html#getLocale()">getLocale()</a></span> - Method in interface <a href="org/apache/sis/util/Localized.html" title="interface in org.apache.sis.util">Localized</a></dt>
<dd>
<div class="block">Returns the locale of the implemented service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The locale to use for formatting warning messages, or <code>null</code> for the default locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshalContext.html#getLocale()">getLocale()</a></span> - Method in class <a href="org/apache/sis/xml/MarshalContext.html" title="class in org.apache.sis.xml">MarshalContext</a></dt>
<dd>
<div class="block">Returns the locale to use for (un)marshalling, or <code>null</code> if no locale were explicitly specified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#getLocale(java.util.Locale.Category)">getLocale(Locale.Category)</a></span> - Method in class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Returns the locale for the given category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#getLocale(java.util.Locale.Category)">getLocale(Locale.Category)</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Returns the locale for the given category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getLocale(java.util.Locale.Category)">getLocale(Locale.Category)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the locale for the given category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#getLocale(java.util.Locale.Category)">getLocale(Locale.Category)</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Returns the locale for the given category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#getLocale(java.util.Locale.Category)">getLocale(Locale.Category)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Returns the locale for the given category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocales()">getLocales()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()">DefaultMetadata.getLocalesAndCharsets()</a>.keySet()</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#getLocales()">getLocales()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Returns the set of locales defined in this international string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#getLocalesAndCharsets()">getLocalesAndCharsets()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Returns the language(s) and character set(s) used within the catalogue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()">getLocalesAndCharsets()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the language(s) and character set(s) used for documenting metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#getLocalesAndCharsets()">getLocalesAndCharsets()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Returns the language(s) and character set(s) used within the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnparsableObjectException.html#getLocalizedMessage()">getLocalizedMessage()</a></span> - Method in exception <a href="org/apache/sis/io/wkt/UnparsableObjectException.html" title="class in org.apache.sis.io.wkt">UnparsableObjectException</a></dt>
<dd>
<div class="block">Returns a localized version of the exception message, typically for final user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#getLocalizedMessage()">getLocalizedMessage()</a></span> - Method in exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">Returns a localized version of the exception message, typically for final user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/LocalizedException.html#getLocalizedMessage()">getLocalizedMessage()</a></span> - Method in interface <a href="org/apache/sis/util/LocalizedException.html" title="interface in org.apache.sis.util">LocalizedException</a></dt>
<dd>
<div class="block">Returns the message in the locale that depends on the context in which this exception has been thrown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Exceptions.html#getLocalizedMessage(java.lang.Throwable,java.util.Locale)">getLocalizedMessage(Throwable, Locale)</a></span> - Static method in class <a href="org/apache/sis/util/Exceptions.html" title="class in org.apache.sis.util">Exceptions</a></dt>
<dd>
<div class="block">Returns the message of the given exception, localized in the given locale if possible.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getLocationType()">getLocationType()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns a description of the nature of this geographic identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#getLocationTypes()">getLocationTypes()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Description of location type(s) in the spatial reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#getLogger()">getLogger()</a></span> - Method in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Returns the logger where to report warnings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#getLogger()">getLogger()</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the logger where to send the warnings when no other destination is specified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#getLogger(java.lang.Class)">getLogger(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Returns a logger for the package of the specified class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerFactory.html#getLogger(java.lang.String)">getLogger(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerFactory.html" title="class in org.apache.sis.util.logging">LoggerFactory</a></dt>
<dd>
<div class="block">Returns the logger of the specified name, or <code>null</code> if the JDK logging framework
 should be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#getLogger(java.lang.String)">getLogger(String)</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Returns a logger for the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#getLoggerFactory()">getLoggerFactory()</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Returns the factory used for obtaining <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging" class="externalLink"><code>Logger</code></a> instances, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html#getLogo()">getLogo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOrganisation</a></dt>
<dd>
<div class="block">Returns the graphics identifying organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#getLow(int)">getLow(int)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns the valid minimum inclusive grid coordinate along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getLower(int)">getLower(int)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns the limit in the direction of decreasing coordinate values in the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getLowerCorner()">getLowerCorner()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">A coordinate position consisting of all the lower coordinate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getLowerCorner()">getLowerCorner()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">The limits in the direction of decreasing coordinate values for the two dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getMaintenanceAndUpdateFrequency()">getMaintenanceAndUpdateFrequency()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Returns the frequency with which changes and additions are made to the resource
 after the initial resource is completed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getMaintenanceDates()">getMaintenanceDates()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Return the date information associated with maintenance of resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getMaintenanceNotes()">getMaintenanceNotes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Returns information regarding specific requirements for maintaining the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getMaintenanceScopes()">getMaintenanceScopes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Return the types of resource and / or extents to which the maintenance information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#getMajor()">getMajor()</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns the major version number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#getMandatoryValue(org.opengis.parameter.ParameterDescriptor)">getMandatoryValue(ParameterDescriptor&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the value of the parameter identified by the given descriptor, or throws an exception if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getMathTransform()">getMathTransform()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns the object for transforming coordinates in the <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getSourceCRS()">source CRS</a>
 to coordinates in the <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getTargetCRS()">target CRS</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/LinearTransform.html#getMatrix()">getMatrix()</a></span> - Method in interface <a href="org/apache/sis/referencing/operation/transform/LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></dt>
<dd>
<div class="block">Returns the coefficients of this linear transform as a matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)">getMatrix(ContextualParameters.MatrixRole)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Returns the affine transforms to be applied before or after the non-linear kernel operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)">getMatrix(ContextualParameters.MatrixRole)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Returns the matrix that represent the affine transform to concatenate before or after
 the parameterized transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#getMatrix(org.opengis.referencing.operation.MathTransform)">getMatrix(MathTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">If the given transform is linear, returns its coefficients as a matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#getMatrix(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.DirectPosition)">getMatrix(MathTransform, DirectPosition)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Returns the coefficients of an affine transform in the vicinity of the given position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#getMaxAltitude()">getMaxAltitude()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Returns the maximum altitude during the photo flight.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#getMaxDouble()">getMaxDouble()</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/measure/Range.html#getMaxValue()">maximum value</a> as a <code>double</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#getMaxDouble(boolean)">getMaxDouble(boolean)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/measure/NumberRange.html#getMaxDouble()">maximum value</a> with the specified inclusive or exclusive state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#getMaxDouble(int)">getMaxDouble(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sis/measure/Range.html#getMaxValue()">range maximum value</a> as a <code>double</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#getMaximalLength()">getMaximalLength()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Returns the maximal length that characterizes the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>CharSequence</code></a> values of this attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#getMaximalLineLength()">getMaximalLineLength()</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Returns the maximal line length, in unit of Unicode characters (code point count).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getMaximum(int)">getMaximum(int)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns the maximal coordinate value for the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getMaximum(int)">getMaximum(int)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the maximal coordinate along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#getMaximumFractionDigits()">getMaximumFractionDigits()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns the maximum number of digits allowed in the fraction portion of the last field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getMaximumListElements()">getMaximumListElements()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the maximum number of elements to show in lists of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getMaximumOccurrence()">getMaximumOccurrence()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Maximum occurrence of the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#getMaximumOccurs()">getMaximumOccurs()</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Returns the maximum number of property values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#getMaximumOccurs()">getMaximumOccurs()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Returns the maximum number of occurrences of the association within its containing entity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#getMaximumOccurs()">getMaximumOccurs()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Returns the maximum number of attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#getMaximumOccurs()">getMaximumOccurs()</a></span> - Method in class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">The maximum number of times that values for this parameter group or parameter can be included.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#getMaximumValue()">getMaximumValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Returns the highest vertical extent contained in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getMaximumValue()">getMaximumValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Returns the maximum parameter value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getMaximumValue()">getMaximumValue()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns the maximum value normally allowed for this axis, in the <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getUnit()">unit of measure for the axis</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#getMaxLong(int)">getMaxLong(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sis/measure/Range.html#getMaxValue()">range maximum value</a> as a <code>long</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#getMaxRelativeHumidity()">getMaxRelativeHumidity()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Returns the maximum relative humidity along the flight pass during the photo flight.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#getMaxValue()">getMaxValue()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns the maximal value, or <code>null</code> if this range has no upper limit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getMaxValue()">getMaxValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the maximum value of data values in each dimension included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getMaxX()">getMaxX()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/geometry/Envelope2D.html#getMaximum(int)">maximal</a> coordinate value for dimension 0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getMaxY()">getMaxY()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/geometry/Envelope2D.html#getMaximum(int)">maximal</a> coordinate value for dimension 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getMeanValue()">getMeanValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the mean value of data values in each dimension included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#getMeasureDescription()">getMeasureDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns the description of the measure being determined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#getMeasureIdentification()">getMeasureIdentification()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns the code identifying a registered standard procedure, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#getMeasurementRange()">getMeasurementRange()</a></span> - Method in class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Returns the range of values after conversions by the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getMeasurementRange()">getMeasurementRange()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns the range of values after conversions by the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getMedia()">getMedia()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Returns the media used by the format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getMedian()">getMedian()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">A coordinate position consisting of all the median coordinate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getMedian(int)">getMedian(int)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns the median coordinate along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getMedian(int)">getMedian(int)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the median coordinate along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getMediumFormats()">getMediumFormats()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Returns the method used to write to the medium.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getMediumNote()">getMediumNote()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Returns a description of other limitations or requirements for using the medium.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#getMemberName(org.opengis.parameter.ParameterDescriptor)">getMemberName(ParameterDescriptor&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Gets the parameter name as an instance of <code>MemberName</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#getMembers()">getMembers()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Returns the set of attribute names defined in this <code>RecordType</code>'s dictionary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#getMemberTypes()">getMemberTypes()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Returns the dictionary of all (<var>name</var>, <var>type</var>) pairs in this record type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnparsableObjectException.html#getMessage()">getMessage()</a></span> - Method in exception <a href="org/apache/sis/io/wkt/UnparsableObjectException.html" title="class in org.apache.sis.io.wkt">UnparsableObjectException</a></dt>
<dd>
<div class="block">Returns the exception message in the default locale, typically for system administrator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#getMessage()">getMessage()</a></span> - Method in exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">Returns the exception message in the default locale, typically for system administrator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/LocalizedException.html#getMessage()">getMessage()</a></span> - Method in interface <a href="org/apache/sis/util/LocalizedException.html" title="interface in org.apache.sis.util">LocalizedException</a></dt>
<dd>
<div class="block">Returns the message in the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true#getDefault()" title="class or interface in java.util" class="externalLink">default locale</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getMessage(int)">getMessage(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns a warning message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#getMetadata()">getMetadata()</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Returns information about the data store as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStore.html#getMetadata()">getMetadata()</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation">LandsatStore</a></dt>
<dd>
<div class="block">Returns information about the dataset as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html#getMetadata()">getMetadata()</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStore</a></dt>
<dd>
<div class="block">Returns information about the dataset as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#getMetadata()">getMetadata()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Returns information about the dataset as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/Resource.html#getMetadata()">getMetadata()</a></span> - Method in interface <a href="org/apache/sis/storage/Resource.html" title="interface in org.apache.sis.storage">Resource</a></dt>
<dd>
<div class="block">Returns information about this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStore.html#getMetadata()">getMetadata()</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql">SQLStore</a></dt>
<dd>
<div class="block">Returns information about the dataset as a whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataConstraints()">getMetadataConstraints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns restrictions on the access and use of metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataExtensionInfo()">getMetadataExtensionInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information describing metadata extensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataIdentifier()">getMetadataIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns a unique identifier for this metadata record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataLinkages()">getMetadataLinkages()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the online location(s) where the metadata is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataMaintenance()">getMetadataMaintenance()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information about the frequency of metadata updates, and the scope of those updates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataProfiles()">getMetadataProfiles()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the citation(s) for the profile(s) of the metadata standard to which the metadata conform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#getMetadataReference()">getMetadataReference()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Return a reference to the metadata of the associated resource, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataScopes()">getMetadataScopes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the scope or type of resource for which metadata is provided.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataStandardName()">getMetadataStandardName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataStandards()"><code>DefaultMetadata.getMetadataStandards()</code></a>
   followed by <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getTitle()"><code>DefaultCitation.getTitle()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataStandards()">getMetadataStandards()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the citation(s) for the standard(s) to which the metadata conform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataStandardVersion()">getMetadataStandardVersion()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataStandards()"><code>DefaultMetadata.getMetadataStandards()</code></a>
   followed by <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getEdition()"><code>DefaultCitation.getEdition()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#getMeteorologicalConditions()">getMeteorologicalConditions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Returns the meteorological conditions in the photo flight area, in particular clouds, snow and wind.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#getMethod()">getMethod()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">May be removed in GeoAPI 4.0 since it does not apply to pass-through operations.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#getMimeType()">getMimeType()</a></span> - Method in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">Returns the MIME type of the storage file format, or <code>null</code> if unknown or not applicable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#getMinDouble()">getMinDouble()</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/measure/Range.html#getMinValue()">minimum value</a> as a <code>double</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#getMinDouble(boolean)">getMinDouble(boolean)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/measure/NumberRange.html#getMinDouble()">minimum value</a> with the specified inclusive or exclusive state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#getMinDouble(int)">getMinDouble(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sis/measure/Range.html#getMinValue()">range minimum value</a> as a <code>double</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/PerformanceLevel.html#getMinDuration(java.util.concurrent.TimeUnit)">getMinDuration(TimeUnit)</a></span> - Method in class <a href="org/apache/sis/util/logging/PerformanceLevel.html" title="class in org.apache.sis.util.logging">PerformanceLevel</a></dt>
<dd>
<div class="block">Returns the minimal duration for logging an event at this level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getMinimum(int)">getMinimum(int)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns the minimal coordinate value for the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getMinimum(int)">getMinimum(int)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the minimal coordinate along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#getMinimumFractionDigits()">getMinimumFractionDigits()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns the minimum number of digits allowed in the fraction portion of the last field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#getMinimumOccurs()">getMinimumOccurs()</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Returns the minimum number of property values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#getMinimumOccurs()">getMinimumOccurs()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Returns the minimum number of occurrences of the association within its containing entity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#getMinimumOccurs()">getMinimumOccurs()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Returns the minimum number of attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#getMinimumOccurs()">getMinimumOccurs()</a></span> - Method in class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">The minimum number of times that values for this parameter group or parameter are required.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#getMinimumValue()">getMinimumValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Returns the lowest vertical extent contained in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getMinimumValue()">getMinimumValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Returns the minimum parameter value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getMinimumValue()">getMinimumValue()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns the minimum value normally allowed for this axis, in the <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getUnit()">unit of measure for the axis</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#getMinLong(int)">getMinLong(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sis/measure/Range.html#getMinValue()">range minimum value</a> as a <code>long</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#getMinor()">getMinor()</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns the minor version number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#getMinValue()">getMinValue()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns the minimal value, or <code>null</code> if this range has no lower limit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getMinValue()">getMinValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the minimum value of data values in each dimension included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getMinX()">getMinX()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/geometry/Envelope2D.html#getMinimum(int)">minimal</a> coordinate value for dimension 0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getMinY()">getMinY()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/geometry/Envelope2D.html#getMinimum(int)">minimal</a> coordinate value for dimension 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#getModifiedCoordinates()">getModifiedCoordinates()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Returns the ordered sequence of indices in a source coordinate tuple of the coordinates
 affected by this pass-through operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#getModifiedCoordinates()">getModifiedCoordinates()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Returns the ordered sequence of positive integers defining the positions in a source
 coordinate tuple of the coordinates affected by this pass-through operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#getMountedOn()">getMountedOn()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Returns the platform on which the instrument is mounted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Returns the category name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns an identification for this sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Returns the name of this association as defined by its <a href="org/apache/sis/feature/AbstractAssociation.html#getRole()">role</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Returns the name of this attribute as defined by its <a href="org/apache/sis/feature/AbstractAttribute.html#getType()">type</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Returns the name of this type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Returns the name of the <code>IdentifiedType</code> to create, or <code>null</code> if undefined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></dt>
<dd>
<div class="block">Return the name of the party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Name of the online resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Returns the name of the series, or aggregate dataset, of which the dataset is a part.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Returns the designation associated with a set of range elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Name of the application schema used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Name of the extended metadata element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataScope</a></dt>
<dd>
<div class="block">Returns a description of the scope, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by
 <code><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFormatSpecificationCitation()">DefaultFormat.getFormatSpecificationCitation()</a>.<a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getAlternateTitles()">getAlternateTitles()</a></code>. Note that citation alternate titles are often used for abbreviations.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Returns the name of the medium on which the resource can be received.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Returns citation information about the associated resource, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Returns the name as used by the service for this chain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Returns the name of the processing report.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns the primary name by which this object is identified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the name of the location type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Returns the name of this option key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerFactory.html#getName()">getName()</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerFactory.html" title="class in org.apache.sis.util.logging">LoggerFactory</a></dt>
<dd>
<div class="block">Returns the name of the logging framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifierSpace.html#getName()">getName()</a></span> - Method in interface <a href="org/apache/sis/xml/IdentifierSpace.html" title="interface in org.apache.sis.xml">IdentifierSpace</a></dt>
<dd>
<div class="block">Returns the name of this identifier space.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#getName(org.apache.sis.io.wkt.ElementKind)">getName(ElementKind)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">Returns the color for the given syntactic element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#getName(org.opengis.referencing.IdentifiedObject,org.opengis.metadata.citation.Citation)">getName(IdentifiedObject, Citation)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns an object name according the given authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#getNameAuthority()">getNameAuthority()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns the preferred authority for choosing the projection and parameter names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getNameAuthority()">getNameAuthority()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the preferred authority to look for when fetching identified object names and identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#getNames()">getNames()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Returns the identifiers for each attribute included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#getNames(org.opengis.referencing.IdentifiedObject,org.opengis.metadata.citation.Citation)">getNames(IdentifiedObject, Citation)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns every object names and aliases according the given authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#getNamesOfMeasure()">getNamesOfMeasure()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns the name of the test applied to the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#getNameSpace()">getNameSpace()</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Returns the namespace of the names created by <code>setName(CharSequence...)</code> method calls.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilObject.html#getNilReason()">getNilReason()</a></span> - Method in interface <a href="org/apache/sis/xml/NilObject.html" title="interface in org.apache.sis.xml">NilObject</a></dt>
<dd>
<div class="block">Returns the reason why this object contains no information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getNoDataValues()">getNoDataValues()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns the values to indicate "no data" for this sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#getNodeFilter()">getNodeFilter()</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Returns the filter that specify whether a node should be formatted or ignored.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#getNodeSize()">getNodeSize()</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Returns the node size of the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getNominalSpatialResolution()">getNominalSpatialResolution()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns the smallest distance between which separate points can be distinguished,
 as specified in instrument design.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getNominalSpatialResolution()">getNominalSpatialResolution()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the smallest distance between which separate points can be distinguished,
 as specified in instrument design.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#getNorthBoundLatitude()">getNorthBoundLatitude()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Returns the northern-most, coordinate of the limit of the dataset extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#getNumBands()">getNumBands()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Returns the number of bands that the image will have.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getNumBands()">getNumBands()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the number of bands (samples per pixel) in the image or raster.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#getNumber()">getNumber()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="block">Returns the telephone number by which individuals can contact responsible organization or individual.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#getNumber(int,int)">getNumber(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Retrieves the value at the specified row and column of this matrix, wrapped in a <code>Number</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#getNumberOfDimensions()">getNumberOfDimensions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns the number of independent spatial-temporal axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getNumberOfValues()">getNumberOfValues()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the number of values used in a thematic classification resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#getNumberType()">getNumberType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="block">Returns the type of telephone number, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#getNumCol()">getNumCol()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Returns the number of columns in this matrix, which is always <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#SIZE">1</a> in this implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#getNumCol()">getNumCol()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Returns the number of columns in this matrix, which is always <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#SIZE">2</a> in this implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#getNumCol()">getNumCol()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Returns the number of columns in this matrix, which is always <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#SIZE">3</a> in this implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#getNumCol()">getNumCol()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Returns the number of columns in this matrix, which is always <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#SIZE">4</a> in this implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getNumMessages()">getNumMessages()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns the number of warning messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getNumPairedBrackets()">getNumPairedBrackets()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the number of paired brackets.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getNumPairedQuotes()">getNumPairedQuotes()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the number of paired quotes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#getNumRow()">getNumRow()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Returns the number of rows in this matrix, which is always <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#SIZE">1</a> in this implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#getNumRow()">getNumRow()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Returns the number of rows in this matrix, which is always <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#SIZE">2</a> in this implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#getNumRow()">getNumRow()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Returns the number of rows in this matrix, which is always <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#SIZE">3</a> in this implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#getNumRow()">getNumRow()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Returns the number of rows in this matrix, which is always <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#SIZE">4</a> in this implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#getObjectiveOccurences()">getObjectiveOccurences()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns the event or events associated with objective completion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#getObjectives()">getObjectives()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Returns the area or object to be sensed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getObjectives()">getObjectives()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns object(s) or area(s) of interest to be sensed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getObligation()">getObligation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Obligation of the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#getOffLine()">getOffLine()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#getOffLines()"><code>DefaultDigitalTransferOptions.getOffLines()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#getOffLines()">getOffLines()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Returns information about offline media on which the resource can be obtained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getOffset()">getOffset()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the physical value corresponding to a cell value of zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#getOffset()">getOffset()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Returns the offset of the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getOnlineResource()">getOnlineResource()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getOnlineResources()"><code>DefaultContact.getOnlineResources()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getOnlineResources()">getOnlineResources()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns online references to the cited resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getOnlineResources()">getOnlineResources()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Returns on-line information that can be used to contact the individual or organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#getOnLines()">getOnLines()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Returns information about online sources from which the resource can be obtained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#getOntology()">getOntology()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Returns a reference that binds the keyword class to a formal conceptualization of a knowledge domain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getOpeningBracket(int)">getOpeningBracket(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the opening bracket character at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getOpeningQuote(int)">getOpeningQuote(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the opening quote character at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Returns the parameters used to open this data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Returns a description of all parameters accepted by this provider for opening a data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStore.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation">LandsatStore</a></dt>
<dd>
<div class="block">Returns the parameters used to open this Landsat data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html" title="class in org.apache.sis.storage.earthobservation">LandsatStoreProvider</a></dt>
<dd>
<div class="block">Returns a description of all parameters accepted by this provider for opening a Landsat file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStore.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStore</a></dt>
<dd>
<div class="block">Returns the parameters used to open this GeoTIFF data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStoreProvider</a></dt>
<dd>
<div class="block">Returns a description of all parameters accepted by this provider for opening a GeoTIFF file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Returns the parameters used to open this netCDF data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html" title="class in org.apache.sis.storage.netcdf">NetcdfStoreProvider</a></dt>
<dd>
<div class="block">Returns a description of all parameters accepted by this provider for opening a netCDF file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStore.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql">SQLStore</a></dt>
<dd>
<div class="block">Returns the parameters used to open this netCDF data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStoreProvider.html#getOpenParameters()">getOpenParameters()</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStoreProvider.html" title="class in org.apache.sis.storage.sql">SQLStoreProvider</a></dt>
<dd>
<div class="block">Returns a description of all parameters accepted by this provider for opening a connection to the database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getOpenSequence()">getOpenSequence()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the character used for opening a sequence of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getOperatedDatasets()">getOperatedDatasets()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns the reference(s) to the resource on which the service operates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getOperatesOn()">getOperatesOn()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Provides information on the resources that the service operates on.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#getOperation()">getOperation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Returns the service operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#getOperation()">getOperation()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="block">Returns the operation to apply on the subset of a coordinate tuple.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#getOperationDescription()">getOperationDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Returns free text description of the intent of the operation and the results of the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html#getOperationMethod(java.lang.String)">getOperationMethod(String)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.html" title="class in org.apache.sis.referencing.operation">DefaultCoordinateOperationFactory</a></dt>
<dd>
<div class="block">Returns the operation method of the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#getOperationMethod(java.lang.String)">getOperationMethod(String)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Returns the operation method for the specified name or identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#getOperationName()">getOperationName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Returns an unique identifier for this interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#getOperations()">getOperations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Returns the general information about an identifiable activity which provided the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#getOperations()">getOperations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Returns the identification of the activity or activities that satisfy a plan.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#getOperations()">getOperations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Returns information about the operations applied by the chain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#getOperationType()">getOperationType()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Returns the base interface of the <code>CoordinateOperation</code> instances that use this method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#getOperationValue(java.lang.String)">getOperationValue(String)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Executes the parameterless operation of the given name and returns the value of its result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getOperationVersion()">getOperationVersion()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns the version of the coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/InvalidOptionException.html#getOption()">getOption()</a></span> - Method in exception <a href="org/apache/sis/console/InvalidOptionException.html" title="class in org.apache.sis.console">InvalidOptionException</a></dt>
<dd>
<div class="block">Returns the name of the invalid option.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#getOption(org.apache.sis.setup.OptionKey)">getOption(OptionKey&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Returns the option value for the given key, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#getOrCreate(K,java.util.concurrent.Callable)">getOrCreate(K, Callable&lt;? extends V&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns the value for the given key if it exists, or computes it otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#getOrCreate(org.opengis.parameter.ParameterDescriptor)">getOrCreate(ParameterDescriptor&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the parameter identified by the given descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getOrderingInstructions()">getOrderingInstructions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Returns general instructions, terms and services provided by the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getOrderOptions()">getOrderOptions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Returns the request/purchase choices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getOrderOptionsType()">getOrderOptionsType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Returns the description of the <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getOrderOptions()">order options</a> record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getOrderOptionType()">getOrderOptionType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getOrderOptionsType()"><code>DefaultStandardOrderProcess.getOrderOptionsType()</code></a> for ISO 19115 conformance.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#getOrdinate(int)">getOrdinate(int)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Returns the coordinate at the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#getOrdinate(int)">getOrdinate(int)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Returns the coordinate at the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#getOrdinate(int)">getOrdinate(int)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Returns the coordinate at the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#getOrganisationName()">getOrganisationName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <code>getName()</code> in <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation"><code>DefaultOrganisation</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#getOrientationParameterDescription()">getOrientationParameterDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Returns a description of parameters used to describe sensor orientation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html#getOrigin()">getOrigin()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultTemporalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultTemporalDatum</a></dt>
<dd>
<div class="block">Returns the date and time origin of this temporal datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#getOther()">getOther()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Returns the class of information that does not fall into the other categories to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getOtherCitationDetails()">getOtherCitationDetails()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns other information required to complete the citation that is not recorded elsewhere.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#getOtherConstraints()">getOtherConstraints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Returns the other restrictions and legal prerequisites for accessing and using the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#getOtherExplanation()">getOtherExplanation()</a></span> - Method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">If this <code>NilReason</code> is an enumeration of kind <a href="org/apache/sis/xml/NilReason.html#OTHER"><code>NilReason.OTHER</code></a>, returns the explanation
 text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getOtherProperty()">getOtherProperty()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns instance of other/attributeType that defines attributes not explicitly
 included in <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/content/CoverageContentType.html?is-external=true" title="class or interface in org.opengis.metadata.content" class="externalLink"><code>CoverageContentType</code></a>, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getOtherPropertyType()">getOtherPropertyType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns type of other attribute description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getOutputs()">getOutputs()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the description of the product generated as a result of the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#getOverallOwner()">getOverallOwner()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Authority with overall responsibility for the spatial reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getOwner()">getOwner()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the name of organization or class of organization able to create and destroy location instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#getPage()">getPage()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Returns details on which pages of the publication the article was published.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#getParameterCitations()">getParameterCitations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Returns a reference providing description of the parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameterized.html#getParameterDescriptors()">getParameterDescriptors()</a></span> - Method in interface <a href="org/apache/sis/parameter/Parameterized.html" title="interface in org.apache.sis.parameter">Parameterized</a></dt>
<dd>
<div class="block">Returns the parameter descriptors for this parameterized object, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getParameterDescriptors()">getParameterDescriptors()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns a description of the values in this grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#getParameterDescriptors()">getParameterDescriptors()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Returns a description of the non-linear internal parameters of this <code>NormalizedProjection</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#getParameterDescriptors()">getParameterDescriptors()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Returns the parameter descriptors for this math transform, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#getParameterDescriptors()">getParameterDescriptors()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Returns a description of the internal parameters of this <code>EllipsoidToCentricTransform</code> transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html#getParameterDescriptors()">getParameterDescriptors()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedMolodenskyTransform</a></dt>
<dd>
<div class="block">Returns a description of the internal parameters of this <code>InterpolatedMolodenskyTransform</code> transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html#getParameterDescriptors()">getParameterDescriptors()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">MolodenskyTransform</a></dt>
<dd>
<div class="block">Returns a description of the internal parameters of this <code>MolodenskyTransform</code> transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractOperation.html#getParameters()">getParameters()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></dt>
<dd>
<div class="block">Returns a description of the input parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#getParameters()">getParameters()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Returns the parameters that are required for this interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#getParameters()">getParameters()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Returns the set of parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameterized.html#getParameterValues()">getParameterValues()</a></span> - Method in interface <a href="org/apache/sis/parameter/Parameterized.html" title="interface in org.apache.sis.parameter">Parameterized</a></dt>
<dd>
<div class="block">Returns the parameter values for this parameterized object, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html#getParameterValues()">getParameterValues()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultPassThroughOperation.html" title="class in org.apache.sis.referencing.operation">DefaultPassThroughOperation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">May be removed in GeoAPI 4.0 since it does not apply to pass-through operations.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#getParameterValues()">getParameterValues()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Returns a copy of non-linear internal parameter values of this <code>NormalizedProjection</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html#getParameterValues()">getParameterValues()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html" title="class in org.apache.sis.referencing.operation.projection">ZonedGridSystem</a></dt>
<dd>
<div class="block">Returns the parameter values of this zoned grid system projection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#getParameterValues()">getParameterValues()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Returns the parameter values for this math transform, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html#getParameterValues()">getParameterValues()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DatumShiftTransform.html" title="class in org.apache.sis.referencing.operation.transform">DatumShiftTransform</a></dt>
<dd>
<div class="block">Returns the internal parameter values of this <code>DatumShiftTransform</code> instance (ignoring context).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#getParameterValues()">getParameterValues()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Returns a copy of internal parameter values of this <code>EllipsoidToCentricTransform</code> transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getParameterValues(org.apache.sis.parameter.Parameters)">getParameterValues(Parameters)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Gets the parameter values for the grids and stores them in the provided <code>parameters</code> group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getParent()">getParent()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Returns the parent of this node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#getParent()">getParent()</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Returns the parent node, or <code>null</code> if this node is the root of the tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getParentEntity()">getParentEntity()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Name of the metadata entity(s) under which this extended metadata element may appear.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getParentIdentifier()">getParentIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getParentMetadata()"><code>DefaultMetadata.getParentMetadata()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getParentMetadata()">getParentMetadata()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns an identification of the parent metadata record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getParentOperation()">getParentOperation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the heritage of the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getParents()">getParents()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns location instances of a different location type, for which this location instance is a sub-division.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getParents()">getParents()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the parent location types (location types of which this location type is a sub-division).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#getParsedNames()">getParsedNames()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns the sequence of <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/LocalName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">local names</a> making this generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#getParsedNames()">getParsedNames()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns the sequence of <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">local names</a> making this generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#getParsedNames()">getParsedNames()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Returns the sequence of local name for this name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultScopedName.html#getParsedNames()">getParsedNames()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso">DefaultScopedName</a></dt>
<dd>
<div class="block">Returns the sequence of local name for this generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#getParties()">getParties()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Returns information about the parties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#getPass()">getPass()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns the pass of the platform over the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#getPattern(java.lang.Class)">getPattern(Class&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Returns the pattern for number, angle or date fields.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getPeakResponse()">getPeakResponse()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns the wavelength at which the response is the highest.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getPhone()">getPhone()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getPhones()"><code>DefaultContact.getPhones()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#getPhones()">getPhones()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Returns telephone numbers at which the organization or individual may be contacted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getPixel(double%5B%5D)">getPixel(double[])</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the sample values of current pixel for all bands.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getPixel(float%5B%5D)">getPixel(float[])</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the sample values of current pixel for all bands.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getPixel(int%5B%5D)">getPixel(int[])</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the sample values of current pixel for all bands.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultImageDatum.html#getPixelInCell()">getPixelInCell()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultImageDatum.html" title="class in org.apache.sis.referencing.datum">DefaultImageDatum</a></dt>
<dd>
<div class="block">Specification of the way the image grid is associated with the image data attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#getPixelOrientation(org.opengis.referencing.datum.PixelInCell)">getPixelOrientation(PixelInCell)</a></span> - Static method in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">Returns the pixel orientation which is equivalent to the given <code>PixelInCell</code> code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#getPixelTranslation(org.opengis.metadata.spatial.PixelOrientation)">getPixelTranslation(PixelOrientation)</a></span> - Static method in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">Returns the specified position relative to the pixel center.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#getPixelTranslation(org.opengis.referencing.datum.PixelInCell)">getPixelTranslation(PixelInCell)</a></span> - Static method in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">Returns the position relative to the cell center.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getPlan()">getPlan()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the plan satisfied by the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getPlannedAvailableDateTime()">getPlannedAvailableDateTime()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Returns the date and time when the dataset will be available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#getPlatforms()">getPlatforms()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Returns the general information about the platform from which the data were taken.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getPlatforms()">getPlatforms()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the platform (or platforms) used in the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#getPointInPixel()">getPointInPixel()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns the point in a pixel corresponding to the Earth location of the pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getPointOfContacts()">getPointOfContacts()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns the identification of, and means of communication with, person(s) and organizations(s)
 associated with the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#getPointOfInterest()">getPointOfInterest()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns the grid coordinates of a representative point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/distance/DistanceUtils.html#getPointOnGreatCircle(double,double,double,double)">getPointOnGreatCircle(double, double, double, double)</a></span> - Static method in class <a href="org/apache/sis/distance/DistanceUtils.html" title="class in org.apache.sis.distance">DistanceUtils</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/referencing/GeodeticCalculator.html#getEndPoint()"><code>GeodeticCalculator.getEndPoint()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html#getPolygons()">getPolygons()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html" title="class in org.apache.sis.metadata.iso.extent">DefaultBoundingPolygon</a></dt>
<dd>
<div class="block">Returns the sets of points defining the bounding polygon or other geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html#getPortrayalCatalogueCitations()">getPortrayalCatalogueCitations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html" title="class in org.apache.sis.metadata.iso">DefaultPortrayalCatalogueReference</a></dt>
<dd>
<div class="block">Bibliographic reference to the portrayal catalogue cited.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getPortrayalCatalogueInfo()">getPortrayalCatalogueInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information about the catalogue of rules defined for the portrayal of a resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getPosition()">getPosition()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the column (x) and row (y) indices of the current pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getPosition()">getPosition()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns coordinates of a representative point for the location instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getPositionCRS()">getPositionCRS()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns the Coordinate Reference System (CRS) in which <code>Position</code>s are represented, unless otherwise specified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html#getPositionName()">getPositionName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html" title="class in org.apache.sis.metadata.iso.citation">DefaultIndividual</a></dt>
<dd>
<div class="block">Returns position of the individual in an organization, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#getPositionName()">getPositionName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html#getPositionName()"><code>DefaultIndividual.getPositionName()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#getPositionVectorTransformation(java.util.Date)">getPositionVectorTransformation(Date)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Returns the position vector transformation (geocentric domain) as an affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#getPositionVectorTransformation(org.opengis.referencing.datum.GeodeticDatum,org.opengis.metadata.extent.Extent)">getPositionVectorTransformation(GeodeticDatum, Extent)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Returns the position vector transformation (geocentric domain) to the specified datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#getPostalCode()">getPostalCode()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Returns ZIP or other postal code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#getPrecision()">getPrecision()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Returns the precision of the references formatted by this coder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#getPreferredCodespaces()">getPreferredCodespaces()</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Returns the code spaces of names, aliases and identifiers to show, or <code>null</code> if there is no restriction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#getPreferredPrefix(java.lang.String,java.lang.String)">getPreferredPrefix(String, String)</a></span> - Static method in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">Returns the preferred prefix for the given namespace URI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getPresentationForms()">getPresentationForms()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the mode in which the resource is represented.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#getPrimeMeridian()">getPrimeMeridian()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Returns the prime meridian given at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#getPriority()">getPriority()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns the priority applied to the target.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#getPriority()">getPriority()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns the relative ordered importance, or urgency, of the requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#getProcedureDescription()">getProcedureDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Returns the additional details about the processing procedures.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getProcessedLevel()">getProcessedLevel()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns the processing level of the source data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getProcessingInformation()">getProcessingInformation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the comprehensive information about the procedure by which the algorithm
 was applied to derive geographic data from the raw instrument measurements, such
 as datasets, software used, and the processing environment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getProcessingLevel()">getProcessingLevel()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns code(s) that identifies the level of processing in the producers coding system of a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#getProcessingLevelCode()">getProcessingLevelCode()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Returns an identifier for the level of processing that has been applied to the resource, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getProcessors()">getProcessors()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the identification of, and means of communication with, person(s) and
 organization(s) associated with the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#getProcessSteps()">getProcessSteps()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Returns the information about about events in the life of a resource specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getProfiles()">getProfiles()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns the profile(s) to which the service adheres.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#getProperties(boolean)">getProperties(boolean)</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Returns any feature operation, any feature attribute type and any feature association role that
 carries characteristics of a feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#getProperties(org.opengis.referencing.IdentifiedObject,java.lang.String...)">getProperties(IdentifiedObject, String...)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns the information provided in the specified identified object as a map of properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#getProperty(java.lang.String)">getProperty(String)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Returns the property (attribute, feature association or operation result) of the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#getProperty(java.lang.String)">getProperty(String)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Returns the builder for the property of the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#getProperty(java.lang.String)">getProperty(String)</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Returns the attribute, operation or association role for the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#getPropertyValue(java.lang.String)">getPropertyValue(String)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Returns the value for the property of the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#getProtocol()">getProtocol()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Returns the connection protocol to be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#getProtocolRequest()">getProtocolRequest()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Returns the request used to access the resource depending on the protocol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#getProvided()">getProvided()</a></span> - Static method in class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="block">Returns the metadata source connected to the <code>"jdbc/SpatialMetadata"</code> database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#getProvider()">getProvider()</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Returns the factory that created this <code>DataStore</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getPurpose()">getPurpose()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns a summary of the intentions with which the resource(s) was developed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html#getQualityInfo()">getQualityInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html" title="class in org.apache.sis.metadata.iso.spatial">AbstractGeolocationInformation</a></dt>
<dd>
<div class="block">Returns an overall assessment of quality of geolocation information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getQuantityFactory(java.lang.Class)">getQuantityFactory(Class&lt;Q&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Return a factory for the given <code>Quantity</code> type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#getRangeElementDescriptions()">getRangeElementDescriptions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Provides the description of the specific range elements of a coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#getRangeElements()">getRangeElements()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Returns the specific range elements, i.e. range elements associated with a name
 and their definition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getRangeMeaning()">getRangeMeaning()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns the meaning of axis value range specified by the <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getMinimumValue()">minimum</a>
 and <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getMaximumValue()">maximum</a> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getRationale()">getRationale()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Returns the reason for creating the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getRationale()">getRationale()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the requirement or purpose for the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getRationales()">getRationales()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getRationale()"><code>DefaultExtendedElementInformation.getRationale()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#getRealizationEpoch()">getRealizationEpoch()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">The time after which this datum definition is valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#getRecipients()">getRecipients()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns the person(s), or body(ies), to receive results of requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#getRecordType()">getRecordType()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Returns the type definition of this record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/distance/LatLonPointRadius.html#getRectangularRegionApproximation(int)">getRectangularRegionApproximation(int)</a></span> - Method in class <a href="org/apache/sis/distance/LatLonPointRadius.html" title="class in org.apache.sis.distance">LatLonPointRadius</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Calculates the rectangular region enclosing the circular search region.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getReferences()">getReferences()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Returns citations for the limitation of constraint.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getReferences()">getReferences()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the process step documentation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getReferenceSystem()">getReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the reference system that comprises this location type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getReferenceSystemInfo()">getReferenceSystemInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the description of the spatial and temporal reference systems used in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#getRelatedEvents()">getRelatedEvents()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Returns the occurrence of one or more events for a pass.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#getRelatedPass()">getRelatedPass()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Returns the pass during which an event occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#getRelatedSensors()">getRelatedSensors()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Returns the instrument or instruments for which the event is meaningful.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getReleasability()">getReleasability()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Returns information concerning the parties to whom the resource can or cannot be released.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#getRemarks()">getRemarks()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Returns comments on or information about this type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getRemarks()">getRemarks()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns comments on or information about this object, including data source information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Deprecable.html#getRemarks()">getRemarks()</a></span> - Method in interface <a href="org/apache/sis/util/Deprecable.html" title="interface in org.apache.sis.util">Deprecable</a></dt>
<dd>
<div class="block">If this instance is deprecated, the reason or the alternative to use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getReports()">getReports()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the report generated by the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#getReports()">getReports()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Returns the quantitative quality information for the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#getRequestedDate()">getRequestedDate()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns the required or preferred acquisition date and time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html#getRequestedDateOfCollection()">getRequestedDateOfCollection()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequestedDate</a></dt>
<dd>
<div class="block">Returns the preferred date and time of collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#getRequestors()">getRequestors()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns the origin of requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getResolution()">getResolution()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns the distance between consistent parts (centre, left side, right side) of two adjacent pixels.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#getResolution()">getResolution()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Returns the degree of detail in the grid dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#getResolution(boolean)">getResolution(boolean)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns an <em>estimation</em> of the grid resolution, in units of the coordinate reference system axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/ResourcesDownloader.html#getResource(java.lang.String,int)">getResource(String, int)</a></span> - Method in class <a href="org/apache/sis/console/ResourcesDownloader.html" title="class in org.apache.sis.console">ResourcesDownloader</a></dt>
<dd>
<div class="block">Returns an installation resource for the given authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/InstallationResources.html#getResource(java.lang.String,int)">getResource(String, int)</a></span> - Method in class <a href="org/apache/sis/setup/InstallationResources.html" title="class in org.apache.sis.setup">InstallationResources</a></dt>
<dd>
<div class="block">Returns an installation resource for the given authority, or <code>null</code> if not available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getResourceConstraints()">getResourceConstraints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Provides information about constraints which apply to the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getResourceFormats()">getResourceFormats()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Provides a description of the format of the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getResourceLineages()">getResourceLineages()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information about the provenance, sources and/or the production processes applied to the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getResourceMaintenances()">getResourceMaintenances()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Provides information about the frequency of resource updates, and the scope of those updates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/ResourcesDownloader.html#getResourceNames(java.lang.String)">getResourceNames(String)</a></span> - Method in class <a href="org/apache/sis/console/ResourcesDownloader.html" title="class in org.apache.sis.console">ResourcesDownloader</a></dt>
<dd>
<div class="block">Returns the names of installation scripts provided by the given authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html#getResourceNames(java.lang.String)">getResourceNames(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html" title="class in org.apache.sis.referencing.factory.sql">InstallationScriptProvider</a></dt>
<dd>
<div class="block">Returns the names of all SQL scripts to execute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/InstallationResources.html#getResourceNames(java.lang.String)">getResourceNames(String)</a></span> - Method in class <a href="org/apache/sis/setup/InstallationResources.html" title="class in org.apache.sis.setup">InstallationResources</a></dt>
<dd>
<div class="block">Returns the names of all resources of the specified authority that are distributed by this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#getResourceReferences()">getResourceReferences()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Returns references to the resource on which the services operates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#getResources()">getResources()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Returns the tightly coupled resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#getResourceScope()">getResourceScope()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataScope</a></dt>
<dd>
<div class="block">Returns the code for the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getResourceSpecificUsages()">getResourceSpecificUsages()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Provides basic information about specific application(s) for which the resource(s)
 has/have been or is being used by different users.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#getResponses()">getResponses()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Responses to the user-determined limitations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getResponsibleParties()">getResponsibleParties()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Returns the parties responsible for the resource constraints.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractOperation.html#getResult()">getResult()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></dt>
<dd>
<div class="block">Returns the expected result type, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#getResultContentDescription()">getResultContentDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Returns the description of the content of the result coverage, i.e. semantic definition
 of the data quality measures.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#getResultFile()">getResultFile()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Returns the information about the data file containing the result coverage data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#getResultFormat()">getResultFormat()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Returns the information about the format of the result coverage data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#getResults()">getResults()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Returns the value (or set of values) obtained from applying a data quality measure or
 the out come of evaluating the obtained value (or set of values) against a specified
 acceptable conformance quality level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#getResultSpatialRepresentation()">getResultSpatialRepresentation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Returns the digital representation of data quality measures composing the coverage result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#getRevision()">getRevision()</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns the revision number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getRhumblineLength()">getRhumblineLength()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns or computes the length of rhumb line (part of constant heading) from start point to end point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#getRole()">getRole()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Returns information about the association.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#getRole()">getRole()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Returns the function performed by the responsible party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#getRole()">getRole()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="block">Returns the function performed by the responsible party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getRole()">getRole()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns a URI reference for some description of the arc role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#getRoot()">getRoot()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Returns the root node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.html#getRoot()">getRoot()</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.html" title="interface in org.apache.sis.util.collection">TreeTable</a></dt>
<dd>
<div class="block">Returns the root node of the tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getRootElement()">getRootElement()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns the name of the root element being parsed or formatted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#getRotation(java.awt.geom.AffineTransform)">getRotation(AffineTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Returns an estimation of the rotation angle in radians.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#getRoundingMode()">getRoundingMode()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns the rounding mode.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#getRow(int,int)">getRow(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns a row of coordinate values in the given dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#getRowCount()">getRowCount()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Returns the number of rows in this table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getRule()">getRule()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Specifies how the extended element relates to other existing elements and entities.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#getRunTimeParameters()">getRunTimeParameters()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Returns the parameters to control the processing operations, entered at run time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getSample(int)">getSample(int)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the sample value in the specified band of current pixel, rounded toward zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridCoverage.html#getSampleDimensions()">getSampleDimensions()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a></dt>
<dd>
<div class="block">Returns information about the <cite>range</cite> of this grid coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/GridCoverageResource.html#getSampleDimensions()">getSampleDimensions()</a></span> - Method in interface <a href="org/apache/sis/storage/GridCoverageResource.html" title="interface in org.apache.sis.storage">GridCoverageResource</a></dt>
<dd>
<div class="block">Returns the ranges of sample values together with the conversion from samples to real values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getSampleDouble(int)">getSampleDouble(int)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the sample value in the specified band of current pixel, without precision lost.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getSampleFloat(int)">getSampleFloat(int)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the sample value in the specified band of current pixel as a single-precision floating point number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#getSampleRange()">getSampleRange()</a></span> - Method in class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Returns the range of values occurring in this category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getSampleRange()">getSampleRange()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns the range of values occurring in this sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getSampleRanges()">getSampleRanges()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the range of sample values that can be stored in each band of the rendered image or raster.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#getSatisfiedPlans()">getSatisfiedPlans()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Returns the plan that identifies solution to satisfy the requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#getSatisfiedRequirements()">getSatisfiedRequirements()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Returns the requirement satisfied by the plan.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#getScale()">getScale()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Returns the scale factor of the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getScaleDenominator()">getScaleDenominator()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, moved to <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#getEquivalentScale()"><code>DefaultResolution.getEquivalentScale()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getScaleFactor()">getScaleFactor()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the scale factor which has been applied to the cell value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#getScaleX0(java.awt.geom.AffineTransform)">getScaleX0(AffineTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Returns the magnitude of scale factor <var>x</var> by canceling the
 effect of eventual flip and rotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#getScaleY0(java.awt.geom.AffineTransform)">getScaleY0(AffineTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Returns the magnitude of scale factor <var>y</var> by canceling the
 effect of eventual flip and rotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html#getScanningResolution()">getScanningResolution()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultNominalResolution</a></dt>
<dd>
<div class="block">Returns the distance between consistent parts of (centre, left side, right side)
 adjacent pixels in the scan plane.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html#getSchema()">getSchema()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html" title="class in org.apache.sis.referencing.factory.sql">SQLTranslator</a></dt>
<dd>
<div class="block">Returns the schema that contains the EPSG tables.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#getSchemaAscii()">getSchemaAscii()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Full application schema given as an ASCII file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#getSchemaLanguage()">getSchemaLanguage()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Identification of the schema language used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordSchema.html#getSchemaName()">getSchemaName()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordSchema.html" title="class in org.apache.sis.util.iso">DefaultRecordSchema</a></dt>
<dd>
<div class="block">Returns the schema name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#getScope()">getScope()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Returns the type of resource and / or extents to which the lineage information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getScope()">getScope()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the type of resource and / or extent to which the process step applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getScope()">getScope()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Return the type and / or extent of the source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#getScope()">getScope()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Returns the specific data to which the data quality information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractReferenceSystem.html#getScope()">getScope()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractReferenceSystem.html" title="class in org.apache.sis.referencing">AbstractReferenceSystem</a></dt>
<dd>
<div class="block">Returns the domain or limitations of usage, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#getScope()">getScope()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Returns the domain or limitations of usage, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getScope()">getScope()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns a description of domain of usage, or limitations of usage, for which this operation is valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#getScopedName()">getScopedName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Returns scoped identifier of the resource in the context of the given service instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#getSearchDomain()">getSearchDomain()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">Returns the domain of the search (for example whether to include deprecated objects in the search).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getSemiMajorAxis()">getSemiMajorAxis()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Length of the semi-major axis of the ellipsoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getSemiMinorAxis()">getSemiMinorAxis()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Length of the semi-minor axis of the ellipsoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#getSensingInstruments()">getSensingInstruments()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns the instrument which senses the objective data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#getSeparator()">getSeparator()</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Returns the separator between each coordinate (number, angle or date).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#getSeparator()">getSeparator()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns the string used as a separator in a list of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#getSeparator()">getSeparator()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Returns the separator to insert between each component of the MGRS identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#getSequence()">getSequence()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Returns the relative time ordering of the event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#getSequenceIdentifier()">getSequenceIdentifier()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Returns a unique name or number that identifies attributes included in the coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getSeries()">getSeries()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the information about the series, or aggregate dataset, of which the dataset is a part.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getServiceStandards()">getServiceStandards()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns the standard(s) to which the service adheres.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getServiceType()">getServiceType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns a service type name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#getServiceTypeVersions()">getServiceTypeVersions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Returns the versions of the service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#getShortClassName(java.lang.Object)">getShortClassName(Object)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the class name of the given object without package name, but including the enclosing class names
 if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getShortName()">getShortName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Removed as of ISO 19115:2014.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#getShortName()">getShortName()</a></span> - Method in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Returns a short name or abbreviation for the data format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html#getShortName()">getShortName()</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html" title="class in org.apache.sis.storage.earthobservation">LandsatStoreProvider</a></dt>
<dd>
<div class="block">Returns a generic name for this data store, used mostly in warnings or error messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html#getShortName()">getShortName()</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStoreProvider</a></dt>
<dd>
<div class="block">Returns a generic name for this data store, used mostly in warnings or error messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html#getShortName()">getShortName()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html" title="class in org.apache.sis.storage.netcdf">NetcdfStoreProvider</a></dt>
<dd>
<div class="block">Returns a generic name for this data store, used mostly in warnings or error messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStoreProvider.html#getShortName()">getShortName()</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStoreProvider.html" title="class in org.apache.sis.storage.sql">SQLStoreProvider</a></dt>
<dd>
<div class="block">Returns a generic name for this data store, used mostly in warnings or error messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#getShortName(java.lang.Class)">getShortName(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the name of the given class without package name, but including the names of enclosing
 classes if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getShow()">getShow()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns the desired presentation of the ending resource on traversal
 from the starting resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getSignificantEvents()">getSignificantEvents()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the record of an event occurring during an operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#getSimpleNameOrIdentifier(org.opengis.referencing.IdentifiedObject)">getSimpleNameOrIdentifier(IdentifiedObject)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns the first name, alias or identifier which is a valid Unicode identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html#getSingleComponents()">getSingleComponents()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultCompoundCRS.html" title="class in org.apache.sis.referencing.crs">DefaultCompoundCRS</a></dt>
<dd>
<div class="block">Returns the ordered list of single coordinate reference systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getSingleComponents(org.opengis.referencing.crs.CoordinateReferenceSystem)">getSingleComponents(CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the ordered list of single coordinate reference systems for the specified CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#getSize()">getSize()</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Returns the size of the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#getSize(int)">getSize(int)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns the number of integer grid coordinates along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#getSize(int,boolean)">getSize(int, boolean)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns the number of grid coordinates as a double precision floating point value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#getSoftwareDevelopmentFile()">getSoftwareDevelopmentFile()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Full application schema given as a software development file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#getSoftwareDevelopmentFileFormat()">getSoftwareDevelopmentFileFormat()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Software dependent format used for the application schema software dependent file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#getSoftwareReferences()">getSoftwareReferences()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Returns the reference to document describing processing software.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreEvent.html#getSource()">getSource()</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreEvent.html" title="class in org.apache.sis.storage.event">StoreEvent</a></dt>
<dd>
<div class="block">Returns the resource where the event occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#getSource()">getSource()</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Returns the source of events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#getSource()">getSource()</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the source declared source of warnings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getSourceCitation()">getSourceCitation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns the recommended reference to be used for the source data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListener.html#getSourceClass()">getSourceClass()</a></span> - Method in interface <a href="org/apache/sis/util/logging/WarningListener.html" title="interface in org.apache.sis.util.logging">WarningListener</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the type of objects that emit warnings of interest for this listener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverter.html#getSourceClass()">getSourceClass()</a></span> - Method in interface <a href="org/apache/sis/util/ObjectConverter.html" title="interface in org.apache.sis.util">ObjectConverter</a></dt>
<dd>
<div class="block">Returns the type of objects to convert.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getSourceCRS()">getSourceCRS()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns the source CRS, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#getSourceCS()">getSourceCS()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Returns the source coordinate system, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Returns the number of dimensions in source positions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Number of dimensions in the source CRS of this operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Gets the dimension of input points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Gets the dimension of input points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></dt>
<dd>
<div class="block">Returns the dimension of input points, which is always 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></dt>
<dd>
<div class="block">Returns the dimension of input points, which is always 2.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Gets the dimension of input points, which is 2 or 3.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedGeocentricTransform</a></dt>
<dd>
<div class="block">Gets the dimension of input points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Returns the number of input dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Gets the dimension of input points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#getSourceDimensions()">getSourceDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Returns the input dimensions to keep or kept in the separated transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#getSourceEllipsoid()">getSourceEllipsoid()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Returns the ellipsoid of the source ellipsoidal coordinate system, or <code>null</code> if it does not apply.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#getSourceEnvelope()">getSourceEnvelope()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Returns the envelope of source points (<em>keys</em> of the map returned by <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#getControlPoints()"><code>LinearTransformBuilder.getControlPoints()</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#getSourceEnvelope(boolean)">getSourceEnvelope(boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns the envelope of source coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getSourceExtents()">getSourceExtents()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, moved to <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#getExtents()"><code>DefaultScope.getExtents()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#getSourceFormat()">getSourceFormat()</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Returns the format for the source, or <code>null</code> is the source is not shown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getSourceMetadata()">getSourceMetadata()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns the references to metadata for the source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#getSourceName()">getSourceName()</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Returns a short name or label for the source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getSourceReferenceSystem()">getSourceReferenceSystem()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns the spatial reference system used by the source data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#getSources()">getSources()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Name of the person or organization creating the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#getSources()">getSources()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Returns information about the source data used in creating the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getSources()">getSources()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the information about the source data used in creating the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getSourceSpatialResolution()">getSourceSpatialResolution()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns the spatial resolution expressed as a scale factor, an angle or a level of detail.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#getSourceSteps()">getSourceSteps()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Returns information about process steps in which this source was used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#getSourceToGrid()">getSourceToGrid()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns the current relationship between "real-world" source coordinates and grid coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#getSouthBoundLatitude()">getSouthBoundLatitude()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Returns the southern-most coordinate of the limit of the dataset extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getSpan(int)">getSpan(int)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns the envelope span (typically width or height) along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getSpan(int)">getSpan(int)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the envelope span along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getSpan(int,javax.measure.Unit)">getSpan(int, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns the envelope span along the specified dimension, in terms of the given units.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#getSpatialExtent()">getSpatialExtent()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Returns the spatial extent component of composite spatial and temporal extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getSpatialRepresentationInfo()">getSpatialRepresentationInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns the digital representation of spatial information in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#getSpatialRepresentationType()">getSpatialRepresentationType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Returns the method used to spatially represent the coverage result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getSpatialRepresentationTypes()">getSpatialRepresentationTypes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns the methods used to spatially represent geographic information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getSpatialResolutions()">getSpatialResolutions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns the factor which provides a general understanding of the density of spatial data in the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifierMap.html#getSpecialized(org.apache.sis.xml.IdentifierSpace)">getSpecialized(IdentifierSpace&lt;T&gt;)</a></span> - Method in interface <a href="org/apache/sis/xml/IdentifierMap.html" title="interface in org.apache.sis.xml">IdentifierMap</a></dt>
<dd>
<div class="block">Returns the identifier associated to the given namespace,
 or <code>null</code> if this map contains no mapping of the
 specialized type for the namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getSpecification()">getSpecification()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by
 <code><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFormatSpecificationCitation()">DefaultFormat.getFormatSpecificationCitation()</a>.<a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getTitle()">getTitle()</a></code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#getSpecification()">getSpecification()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Returns the citation of product specification or user requirement against which data is being evaluated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#getSpecificUsage()">getSpecificUsage()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Returns a brief description of the resource and/or resource series usage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#getSponsors()">getSponsors()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Returns the organization responsible for building, launch, or operation of the platform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#getStandard()">getStandard()</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Returns the metadata standard implemented by subclasses.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#getStandard()">getStandard()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">Returns the metadata standard implemented by subclasses,
 which is <a href="org/apache/sis/metadata/MetadataStandard.html#ISO_19115">ISO 19115</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getStandardDeviation()">getStandardDeviation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the standard deviation of data values in each dimension included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#getStandardName(java.lang.Class)">getStandardName(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the ISO name for the given class, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#getStandardType(java.lang.Class)">getStandardType(Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns the first type or super-type (including interface) considered "standard" in Apache SIS sense.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getStartingAzimuth()">getStartingAzimuth()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns or computes the angular heading at the starting point of a geodesic path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#getStartPoint()">getStartPoint()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns the starting point in the CRS specified at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#getStartTime()">getStartTime()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">The start date and time for the content of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html#getStatement()">getStatement()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultReleasability</a></dt>
<dd>
<div class="block">Returns the release statement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#getStatement()">getStatement()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Returns the general explanation of the data producer's knowledge about the lineage of a dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getStatus()">getStatus()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the status of the data acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#getStatus()">getStatus()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Returns the current status of the plan (pending, completed, etc.)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getStatus()">getStatus()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns the status of the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#getStepDateTime()">getStepDateTime()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Returns the date, time or range of date and time over which the process step occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#getSteps(org.opengis.referencing.operation.MathTransform)">getSteps(MathTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Returns all single components of the given (potentially concatenated) transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#getStorage()">getStorage()</a></span> - Method in class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Returns the input/output object given at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#getStorageAs(java.lang.Class)">getStorageAs(Class&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Returns the storage as a view of the given type if possible, or <code>null</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#getStorageName()">getStorageName()</a></span> - Method in class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Returns a short name of the input/output object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#getStyle()">getStyle()</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Returns whether unit formatting uses ASCII symbols, Unicode symbols or full localized names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#getSubsamplings()">getSubsamplings()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Returns an <em>estimation</em> of the strides for accessing cells along each axis of base grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#getSubspaceDimensions(int)">getSubspaceDimensions(int)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns indices of all dimensions where this grid extent has a size greater than 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#getSubTransform()">getSubTransform()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Returns the sub-transform to apply on the <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#getModifiedCoordinates()">modified coordinates</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#getSuperTypes()">getSuperTypes()</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Returns the direct parents of the feature type to create.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#getSuperTypes()">getSuperTypes()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Returns the direct parents of this feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#getSupplementalInformation()">getSupplementalInformation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Any other descriptive information about the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#getSupportedVersions()">getSupportedVersions()</a></span> - Method in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Returns the range of versions supported by the data store, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#getSwapXY(java.awt.geom.AffineTransform)">getSwapXY(AffineTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Returns an estimation about whether the specified transform swaps <var>x</var> and <var>y</var> axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getSymbols()">getSymbols()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the symbols used for parsing and formatting WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getSystemOfUnits()">getSystemOfUnits()</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Returns the default system of units used by Apache SIS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getSystemOfUnits(java.lang.String)">getSystemOfUnits(String)</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Returns the system of units having the specified name, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getSystemOfUnitsService()">getSystemOfUnitsService()</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Returns the service to obtain a <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/spi/SystemOfUnits.html?is-external=true" title="class or interface in javax.measure.spi" class="externalLink"><code>SystemOfUnits</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#getTabulationWidth()">getTabulationWidth()</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Returns the current tabulation width, in unit of Unicode characters (code point count).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverter.html#getTargetClass()">getTargetClass()</a></span> - Method in interface <a href="org/apache/sis/util/ObjectConverter.html" title="interface in org.apache.sis.util">ObjectConverter</a></dt>
<dd>
<div class="block">Returns the type of converted objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getTargetCRS()">getTargetCRS()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns the target CRS, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#getTargetCS()">getTargetCS()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Returns the target coordinate system, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#getTargetDatum()">getTargetDatum()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Returns the target datum for this set of parameters, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Returns the number of dimensions in target positions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Number of dimensions in the target CRS of this operation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Gets the dimension of output points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Gets the dimension of output points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></dt>
<dd>
<div class="block">Returns the dimension of output points, which is always 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></dt>
<dd>
<div class="block">Returns the dimension of output points, which is always 2.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Gets the dimension of output points, which is 3.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedGeocentricTransform</a></dt>
<dd>
<div class="block">Gets the dimension of output points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Returns the number of target dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Gets the dimension of output points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#getTargetDimensions()">getTargetDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Returns the output dimensions to keep or kept in the separated transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#getTargetEllipsoid()">getTargetEllipsoid()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Returns the ellipsoid of the target ellipsoidal coordinate system, or <code>null</code> if it does not apply.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#getTargetEnvelope()">getTargetEnvelope()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Returns the envelope of target points (<em>values</em> of the map returned by <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#getControlPoints()"><code>LinearTransformBuilder.getControlPoints()</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#getTargetType()">getTargetType()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Returns whether the target coordinate system is Cartesian or Spherical.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getTemporalComponent(org.opengis.referencing.crs.CoordinateReferenceSystem)">getTemporalComponent(CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the first temporal coordinate reference system found in the given CRS, or <code>null</code> if there is none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#getTemporalElements()">getTemporalElements()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Provides temporal component of the extent of the referring object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#getTemporalExtent()">getTemporalExtent()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns the start time and end time of coordinates of the grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#getTemporalExtent()">getTemporalExtent()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns the date of creation of this version of the location instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getTerritoryOfUse()">getTerritoryOfUse()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the geographic area within which the location type occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#getTheme()">getTheme()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Returns the property used as the defining characteristic of the location type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#getTheme()">getTheme()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Property used to characterize the spatial reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#getThesaurusName()">getThesaurusName()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Returns the name of the formally registered thesaurus or a similar authoritative source of keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#getTime()">getTime()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Returns the time the event occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#getTimeFormat()">getTimeFormat()</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Returns the format for elapsed time, or <code>null</code> if the time is not shown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#getTimeout(java.util.concurrent.TimeUnit)">getTimeout(TimeUnit)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns the amount of time that <code>ConcurrentAuthorityFactory</code> will wait before to close a Data Access Object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#getTimeRange(org.opengis.metadata.extent.Extent)">getTimeRange(Extent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns the union of all time ranges found in the given extent, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#getTimeReference()">getTimeReference()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Returns the reference epoch for time-dependent parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#getTimeZone()">getTimeZone()</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Returns the timezone used by this format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshalContext.html#getTimeZone()">getTimeZone()</a></span> - Method in class <a href="org/apache/sis/xml/MarshalContext.html" title="class in org.apache.sis.xml">MarshalContext</a></dt>
<dd>
<div class="block">Returns the timezone to use for (un)marshalling, or <code>null</code> if none was explicitly specified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getTitle()">getTitle()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Returns the name by which the cited resource is known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getTitle()">getTitle()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns a human-readable string with a short description for the arc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getTo()">getTo()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns the ending resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getToneGradation()">getToneGradation()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns the number of discrete numerical values in the grid data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getTopicCategories()">getTopicCategories()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Returns the main theme(s) of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html#getTopologyLevel()">getTopologyLevel()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultVectorSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns the code which identifies the degree of complexity of the spatial relationships.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#getTransferFrequency()">getTransferFrequency()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Returns the rate of occurrence of distribution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#getTransferFunction()">getTransferFunction()</a></span> - Method in class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Returns the <cite>transfer function</cite> from sample values to real values in units of measurement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getTransferFunction()">getTransferFunction()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns the <cite>transfer function</cite> from sample values to real values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getTransferFunctionFormula()">getTransferFunctionFormula()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns the scale factor and offset of the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getTransferFunctionType()">getTransferFunctionType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns type of transfer function to be used when scaling a physical value for a given element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getTransferFunctionType()">getTransferFunctionType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns type of transfer function to be used when scaling a physical value for a given element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#getTransferOptions()">getTransferOptions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Provides information about technical means and media by which a resource is obtained from the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#getTransferSize()">getTransferSize()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Returns an estimated size of a unit in the specified transfer format, expressed in megabytes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#getTransferType()">getTransferType()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns the most efficient type (<code>int</code>, <code>float</code> or <code>double</code>) for transferring data between the
 underlying rasters and this iterator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#getTransform()">getTransform()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Returns the transform from sample values to geophysics values, as specified by the
 current properties of this <code>TransferFunction</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#getTransformationDimensionDescription()">getTransformationDimensionDescription()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns a general description of the transformation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#getTransformationDimensionMapping()">getTransformationDimensionMapping()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns information about which grid dimensions are the spatial dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getTranslationDimensions()">getTranslationDimensions()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns the number of dimensions of the translation vectors interpolated by this datum shift grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#getTranslationUnit()">getTranslationUnit()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns the unit of measurement of output values, as interpolated by the <code>interpolateAt(…)</code> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#getTransliterator()">getTransliterator()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns a mapper between Java character sequences and the characters to write in WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getTransliterator()">getTransliterator()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns a mapper between Java character sequences and the characters to write in WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getTransmittedPolarization()">getTransmittedPolarization()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns the polarization of the radiation transmitted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#getTriangulationIndicator()">getTriangulationIndicator()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the indication of whether or not triangulation has been performed upon the image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#getTrigger()">getTrigger()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Returns the initiator of the event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getTurnaround()">getTurnaround()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Returns typical turnaround time for the filling of an order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#getType()">getType()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Returns information about the attribute (base Java class, domain of values, <i>etc.</i>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#getType()">getType()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Returns information about the feature (name, characteristics, <i>etc.</i>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#getType()">getType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Returns the name of the type of instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#getType()">getType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Returns the collection technique for the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#getType()">getType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Returns the manner of sampling geometry that the planner expects for collection of
 objective data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#getType()">getType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Returns the subject matter used to group similar keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#getType()">getType()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Returns the transfer function type (linear, logarithmic or exponential).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/FeatureSet.html#getType()">getType()</a></span> - Method in interface <a href="org/apache/sis/storage/FeatureSet.html" title="interface in org.apache.sis.storage">FeatureSet</a></dt>
<dd>
<div class="block">Returns a description of properties that are common to all features in this dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#getType()">getType()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns the type of link.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#getTypeName()">getTypeName()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Returns the name that identifies this record type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#getTypes()">getTypes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Returns the collection technique for the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html#getUnavailableFactory()">getUnavailableFactory()</a></span> - Method in exception <a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html" title="class in org.apache.sis.referencing.factory">UnavailableFactoryException</a></dt>
<dd>
<div class="block">Returns the factory which has been found unavailable, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#getUnicodeIdentifier(org.opengis.metadata.citation.Citation)">getUnicodeIdentifier(Citation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/metadata/iso/citation/Citations.html#toCodeSpace(org.opengis.metadata.citation.Citation)"><code>Citations.toCodeSpace(Citation)</code></a> in order to reduce the risk of inconsistent
             behavior if those two methods are mixed.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#getUnicodeIdentifier(org.opengis.referencing.IdentifiedObject)">getUnicodeIdentifier(IdentifiedObject)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/referencing/IdentifiedObjects.html#getSimpleNameOrIdentifier(org.opengis.referencing.IdentifiedObject)"><code>IdentifiedObjects.getSimpleNameOrIdentifier(IdentifiedObject)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getUnit()">getUnit()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Returns the unit of measurement for the
 <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getMinimumValue()">minimum</a>,
 <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getMaximumValue()">maximum</a> and
 <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getDefaultValue()">default</a> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#getUnit()">getUnit()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns the unit of measure of the parameter value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#getUnit()">getUnit()</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Returns the unit of measurement of temporal measurement in the coordinate reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getUnit()">getUnit()</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns the unit of measure used for this coordinate system axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getUnitFormat()">getUnitFormat()</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Returns an unit format instance for human-readable unit symbols in the default locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getUnitFormat(java.lang.String)">getUnitFormat(String)</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Returns the unit format for the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#getUnitFormatService()">getUnitFormatService()</a></span> - Method in class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Returns the service to obtain a <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/format/UnitFormat.html?is-external=true" title="class or interface in javax.measure.format" class="externalLink"><code>UnitFormat</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxisFilter.html#getUnitReplacement(org.opengis.referencing.cs.CoordinateSystemAxis,javax.measure.Unit)">getUnitReplacement(CoordinateSystemAxis, Unit&lt;?&gt;)</a></span> - Method in interface <a href="org/apache/sis/referencing/cs/AxisFilter.html" title="interface in org.apache.sis.referencing.cs">AxisFilter</a></dt>
<dd>
<div class="block">Returns a replacement for the given axis unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#getUnits()">getUnits()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns the units of measurement for this sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#getUnits()">getUnits()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Returns the units of data as a unit of length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#getUnits()">getUnits()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Returns the units of data in the dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#getUnitsOfDistribution()">getUnitsOfDistribution()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Returns tiles, layers, geographic areas, <i>etc.</i>, in which data is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getUnknownElementLocations(java.lang.String)">getUnknownElementLocations(String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns the keyword of WKT elements that contains the given unknown element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#getUnknownElements()">getUnknownElements()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns the keywords of all unknown elements found during the WKT parsing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getUpdateScopeDescriptions()">getUpdateScopeDescriptions()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getUpdateScopes()"><code>DefaultMaintenanceInformation.getUpdateScopes()</code></a> and <code>getUpdateScopeDescriptions()</code>
             were combined into <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getMaintenanceScopes()"><code>DefaultMaintenanceInformation.getMaintenanceScopes()</code></a> in order to allow specifying a scope
             that includes a spatial and temporal extent.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getUpdateScopes()">getUpdateScopes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, <code>getUpdateScopes()</code> and <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getUpdateScopeDescriptions()"><code>DefaultMaintenanceInformation.getUpdateScopeDescriptions()</code></a>
             were combined into <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getMaintenanceScopes()"><code>DefaultMaintenanceInformation.getMaintenanceScopes()</code></a> in order to allow specifying a scope
             that includes a spatial and temporal extent.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getUpper(int)">getUpper(int)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns the limit in the direction of increasing coordinate values in the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#getUpperCorner()">getUpperCorner()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">A coordinate position consisting of all the upper coordinate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getUpperCorner()">getUpperCorner()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">The limits in the direction of increasing coordinate values for the two dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#getURI()">getURI()</a></span> - Method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">If the explanation of this <code>NilReason</code> is referenced by a URI, returns that URI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#getUsageDate()">getUsageDate()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Returns the date and time of the first use or range of uses of the resource and/or resource series.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#getUseConstraints()">getUseConstraints()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Returns the constraints applied to assure the protection of privacy or intellectual property,
 and any special restrictions or limitations or warnings on using the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#getUseLimitations()">getUseLimitations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Returns the limitation affecting the fitness for use of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#getUserContactInfo()">getUserContactInfo()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Returns identification of and means of communicating with person(s) and organization(s) using the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#getUserDefinedMaintenanceFrequency()">getUserDefinedMaintenanceFrequency()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Returns the maintenance period other than those defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#getUserDeterminedLimitations()">getUserDeterminedLimitations()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Returns applications, determined by the user for which the resource and/or resource series is not suitable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#getUserNote()">getUserNote()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Returns the explanation of the application of the legal constraints or other restrictions and legal
 prerequisites for obtaining and using the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getUserObject()">getUserObject()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Returns the user object associated to this node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#getUserObject()">getUserObject()</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Returns the user object associated to this node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#getValidValues()">getValidValues()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Returns an enumeration of valid values for the attribute, or an empty array if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getValidValues()">getValidValues()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">If this parameter allows only a finite set of values, returns that set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#getValue()">getValue()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Returns the associated feature, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#getValue()">getValue()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Returns the attribute value, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#getValue()">getValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns the parameter value as an object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getValue(org.apache.sis.util.collection.TableColumn)">getValue(TableColumn&lt;V&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Returns the value in the given column, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#getValue(org.apache.sis.util.collection.TableColumn)">getValue(TableColumn&lt;V&gt;)</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Returns the value in the given column, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#getValue(org.opengis.parameter.ParameterDescriptor)">getValue(ParameterDescriptor&lt;T&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the value of the parameter identified by the given descriptor, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#getValueClass()">getValueClass()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Returns the class of attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#getValueClass()">getValueClass()</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Returns the class of characteristic values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#getValueClass()">getValueClass()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Returns the type of attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getValueClass()">getValueClass()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Returns the class that describe the type of the parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterDescriptor.html#getValueDomain()">getValueDomain()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">DefaultParameterDescriptor</a></dt>
<dd>
<div class="block">Returns the domain of values with their unit of measurement (if any), or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#getValueDomain(org.opengis.parameter.ParameterDescriptor)">getValueDomain(ParameterDescriptor&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the domain of valid values defined by the given descriptor, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#getValueFrom(java.util.Map)">getValueFrom(Map&lt;OptionKey&lt;?&gt;, ?&gt;)</a></span> - Method in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Returns the option value in the given map for this key, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#getValues()">getValues()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Returns all features, or an empty collection if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#getValues()">getValues()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Returns all attribute values, or an empty collection if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#getValues()">getValues()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Returns the quantitative value or values, content determined by the evaluation procedure used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#getValues()">getValues()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Returns the parameter values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#getValues()">getValues()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Returns the parameter values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Returns the type of feature values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Returns the type of objects formatted by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Returns the base type of values parsed and formatted by this <code>Format</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Returns the base type of values parsed and formatted by this <code>Format</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Returns the type of objects formatted by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Returns the type of objects formatted by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Return the value type for reporting a data quality result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Returns the type of objects formatted by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/LocationFormat.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/LocationFormat.html" title="class in org.apache.sis.referencing.gazetteer">LocationFormat</a></dt>
<dd>
<div class="block">Returns the type of values formatted by this <code>Format</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#getValueType()">getValueType()</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Returns the type of objects formatted by this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/Features.html#getValueTypeName(org.apache.sis.feature.AbstractIdentifiedType)">getValueTypeName(AbstractIdentifiedType)</a></span> - Static method in class <a href="org/apache/sis/feature/Features.html" title="class in org.apache.sis.feature">Features</a></dt>
<dd>
<div class="block">Returns the name of the type of values that the given property can take.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#getValueUnit()">getValueUnit()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Returns the value unit for reporting a data quality result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractFactory.html#getVendor()">getVendor()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractFactory.html" title="class in org.apache.sis.util.iso">AbstractFactory</a></dt>
<dd>
<div class="block">Returns the implementer of this factory, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#getVersion()">getVersion()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Returns the version identifier for the namespace, as specified by the code authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getVersion()">getVersion()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by
 <code><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFormatSpecificationCitation()">DefaultFormat.getFormatSpecificationCitation()</a>.<a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getEdition()">getEdition()</a></code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#getVersion()">getVersion()</a></span> - Method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">The version identifier for the namespace, as specified by the code authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#getVersion()">getVersion()</a></span> - Method in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">Returns the version of file format or database schema used by the storage,
 or <code>null</code> if unknown or not applicable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshalContext.html#getVersion(java.lang.String)">getVersion(String)</a></span> - Method in class <a href="org/apache/sis/xml/MarshalContext.html" title="class in org.apache.sis.xml">MarshalContext</a></dt>
<dd>
<div class="block">Returns the schema version of the XML document being (un)marshalled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#getVertical()">getVertical()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Returns the vertical sampling distance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#getVerticalComponent(org.opengis.referencing.crs.CoordinateReferenceSystem,boolean)">getVerticalComponent(CoordinateReferenceSystem, boolean)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns the first vertical coordinate reference system found in the given CRS, or <code>null</code> if there is none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#getVerticalCRS()">getVerticalCRS()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Provides information about the vertical coordinate reference system to
 which the maximum and minimum elevation values are measured.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html#getVerticalDatumType()">getVerticalDatumType()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultVerticalDatum.html" title="class in org.apache.sis.referencing.datum">DefaultVerticalDatum</a></dt>
<dd>
<div class="block">Returns the type of this vertical datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#getVerticalElements()">getVerticalElements()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Provides vertical component of the extent of the referring object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#getVerticalExtent()">getVerticalExtent()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Returns the vertical extent component.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#getVerticalLinePosition()">getVerticalLinePosition()</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Returns the position of the vertical line, relative to the position of the root label.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#getVerticalRange(org.opengis.metadata.extent.Extent)">getVerticalRange(Extent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns the union of chosen vertical ranges found in the given extent, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#getVoices()">getVoices()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by a <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#getNumber()">number</a>
             with <code>TelephoneType.VOICE</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#getVolumes()">getVolumes()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Returns the number of items in the media identified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#getWarnings()">getWarnings()</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">If warnings occurred during the last WKT <a href="org/apache/sis/io/wkt/WKTFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parsing</a> or
 <a href="org/apache/sis/io/wkt/WKTFormat.html#format(java.lang.Object,java.lang.Appendable)">formatting</a>, returns the warnings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#getWestBoundLongitude()">getWestBoundLongitude()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Returns the western-most coordinate of the limit of the dataset extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#getWidth()">getWidth()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/geometry/Envelope2D.html#getSpan(int)">span</a> for dimension 0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#getWrapAroundChanges()">getWrapAroundChanges()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns the indices of target dimensions where "wrap around" may happen as a result of this coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTreeData.html#getX()">getX()</a></span> - Method in interface <a href="org/apache/sis/index/tree/QuadTreeData.html" title="interface in org.apache.sis.index.tree">QuadTreeData</a></dt>
<dd>
<div class="block">Returns the Java 2D x-coordinate for the longitude.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTreeData.html#getY()">getY()</a></span> - Method in interface <a href="org/apache/sis/index/tree/QuadTreeData.html" title="interface in org.apache.sis.index.tree">QuadTreeData</a></dt>
<dd>
<div class="block">Returns the Java 2D y-coordinate for the latitude.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GEX">GEX</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/gex/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GFC">GFC</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19110/gfc/1.1"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GMD">GMD</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">as of ISO 19115-3, splitted in many different namespaces.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GMI">GMI</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">as of ISO 19115-4, splitted in many different namespaces.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GML">GML</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://www.opengis.net/gml/3.2"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#GML_VERSION">GML_VERSION</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Specifies the GML version of the document to be marshalled or unmarshalled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GMW">GMW</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/gmw/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GMX">GMX</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">as of ISO 19115-3, splitted in many different namespaces.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#GRAD">GRAD</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as π/200 radians (1 grad).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#GRAM">GRAM</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">A SI conventional unit for mass (g).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/NodeType.html#GRAY">GRAY</a></span> - <a href="org/apache/sis/index/tree/NodeType.html" title="enum in org.apache.sis.index.tree">NodeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#GRID_TO_CRS">GRID_TO_CRS</a></span> - Static variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">A bitmask to specify the validity of the <cite>"grid to CRS"</cite> transform.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">GridCoverage</span></a> - Class in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">Base class of coverages with domains defined as a set of grid points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridCoverage.html#%3Cinit%3E(org.apache.sis.coverage.grid.GridGeometry,java.util.Collection)">GridCoverage(GridGeometry, Collection&lt;? extends SampleDimension&gt;)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a></dt>
<dd>
<div class="block">Constructs a grid coverage using the specified grid geometry and sample dimensions.</div>
</dd>
<dt><a href="org/apache/sis/storage/GridCoverageResource.html" title="interface in org.apache.sis.storage"><span class="typeNameLink">GridCoverageResource</span></a> - Interface in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Access to data values in a <var>n</var>-dimensional grid.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">GridDerivation</span></a> - Class in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">Creates a new grid geometry derived from a base grid geometry with different extent or resolution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#%3Cinit%3E(org.apache.sis.coverage.grid.GridGeometry)">GridDerivation(GridGeometry)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Creates a new builder for deriving a grid geometry from the specified base.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">GridExtent</span></a> - Class in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">A range of grid coverage coordinates, also known as "grid envelope".</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#%3Cinit%3E(long,long)">GridExtent(long, long)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Creates a new grid extent for an image or matrix of the given size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#%3Cinit%3E(org.opengis.metadata.spatial.DimensionNameType%5B%5D,long%5B%5D,long%5B%5D,boolean)">GridExtent(DimensionNameType[], long[], long[], boolean)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Constructs a new grid envelope set to the specified coordinates.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">GridGeometry</span></a> - Class in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">Valid extent of grid coordinates together with the transform from those grid coordinates
 to real world coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#%3Cinit%3E(org.apache.sis.coverage.grid.GridExtent,org.opengis.geometry.Envelope)">GridGeometry(GridExtent, Envelope)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Creates a grid geometry with an extent and an envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#%3Cinit%3E(org.apache.sis.coverage.grid.GridExtent,org.opengis.referencing.datum.PixelInCell,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.crs.CoordinateReferenceSystem)">GridGeometry(GridExtent, PixelInCell, MathTransform, CoordinateReferenceSystem)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Creates a new grid geometry from a grid extent and a mapping from cell coordinates to "real world" coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#%3Cinit%3E(org.apache.sis.coverage.grid.GridGeometry)">GridGeometry(GridGeometry)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Creates a new grid geometry with the same values than the given grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#%3Cinit%3E(org.opengis.referencing.datum.PixelInCell,org.opengis.referencing.operation.MathTransform,org.opengis.geometry.Envelope,org.apache.sis.coverage.grid.GridRoundingMode)">GridGeometry(PixelInCell, MathTransform, Envelope, GridRoundingMode)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Creates a new grid geometry from a geospatial envelope and a mapping from cell coordinates to "real world" coordinates.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/GridRoundingMode.html" title="enum in org.apache.sis.coverage.grid"><span class="typeNameLink">GridRoundingMode</span></a> - Enum in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">Specifies rounding behavior of computations of <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid"><code>GridExtent</code></a> from floating-point values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#gridToCRS">gridToCRS</a></span> - Variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">The conversion from grid indices to "real world" coordinates, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#groups(java.lang.String)">groups(String)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Returns all subgroups with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#groups(java.lang.String)">groups(String)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Unsupported operation, since <code>ContextualParameters</code> groups do not contain sub-groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#GRS1980">GRS1980</a></span> - <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Unknown datum based upon the GRS 1980 ellipsoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#GTS">GTS</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">as of ISO 19115-3, splitted in many different namespaces.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#guessForType(java.lang.String)">guessForType(String)</a></span> - Static method in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">Guesses the namespace for a type of the given ISO name.</div>
</dd>
</dl>
<a id="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/distance/DistanceUtils.html#HALF_EARTH_CIRCUMFERENCE">HALF_EARTH_CIRCUMFERENCE</a></span> - Static variable in class <a href="org/apache/sis/distance/DistanceUtils.html" title="class in org.apache.sis.distance">DistanceUtils</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#hasContextualUnit(int)">hasContextualUnit(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the element at the given depth specified a contextual unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Returns a hash value for this category.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns a hash value for this grid envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns a hash value for this grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns a hash value for this sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Returns a hash code value for this feature.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Returns a hash code value for this type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractOperation.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></dt>
<dd>
<div class="block">Returns a hash code value for this operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Returns a hash code value for this association role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Returns a hash code value for this attribute type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Returns a hash code value for this feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Returns a hash value for this coordinate tuple.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns a hash value for this envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Returns a hash value for this coordinate tuple.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Returns a hash value for this coordinate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Returns a hash value for this coordinate tuple.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns a hash code value for this fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Returns a hash code value for this line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Returns a hash code value for this plane.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns a hash code value for this statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a hash code for the values in this vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Returns a hash code for this <code>Angle</code> object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns a "hash value" for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Returns a hash code value for this measurement range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns a hash code value for this range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Computes a hash code value for this metadata using Java reflection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns a hash value for this representative fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html" title="class in org.apache.sis.metadata.iso.maintenance">LegacyFeatureType</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns a hash value for this parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Returns a hash value for this parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns a hash value for this identified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Returns a hash value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns a hash code value for this datum shift grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Returns a hash value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultFormula.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultFormula.html" title="class in org.apache.sis.referencing.operation">DefaultFormula</a></dt>
<dd>
<div class="block">Returns a hash code value for this formula.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Returns a hash code value based on the data values in this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Returns a hash code value based on the data values in this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns a hash code value based on the data values in this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Returns a hash value for this transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">Returns a hash code value for this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Returns a hash code value for this table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Returns a hash-code value computed from the <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getValue(org.apache.sis.util.collection.TableColumn)">values</a>
 and <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getChildren()">children</a>, ignoring the <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getParent()">parent</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#hashCode()">hashCode()</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Returns a hash code value consistent with the <code>equals(Object)</code> implementation for this node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns a hash code value for this generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Returns a hash code value for this international text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameSpace.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">DefaultNameSpace</a></dt>
<dd>
<div class="block">Returns a hash code value for this namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Returns a hash code value for this record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Returns a hash code value for this <code>RecordType</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/ResourceInternationalString.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/iso/ResourceInternationalString.html" title="class in org.apache.sis.util.iso">ResourceInternationalString</a></dt>
<dd>
<div class="block">Returns a hash code value for this international text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/SimpleInternationalString.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/iso/SimpleInternationalString.html" title="class in org.apache.sis.util.iso">SimpleInternationalString</a></dt>
<dd>
<div class="block">Returns a hash code value for this international text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns a hash code value for this version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">Returns a hash code value for this <code>NilReason</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#hashCode()">hashCode()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns a hash code value for this XLink.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#hashCode(java.lang.Object)">hashCode(Object)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Computes a hash code for the specified metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#hashMapCapacity(int)">hashMapCapacity(int)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Returns the capacity to be given to the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#%3Cinit%3E(int)" title="class or interface in java.util" class="externalLink"><code>HashMap</code></a>
 constructor for holding the given number of elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#hasListeners()">hasListeners()</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#hasListeners()">hasListeners()</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns <code>true</code> if this object contains at least one listener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#hasListeners(java.lang.Class)">hasListeners(Class&lt;? extends StoreEvent&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this object or its parent contains at least one listener for the given type of event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#hasNaN(double%5B%5D)">hasNaN(double[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified array contains at least one <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>NaN</code></a> value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#hasNaN(float%5B%5D)">hasNaN(float[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified array contains at least one <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>NaN</code></a> value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#head()">head()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns the first element in the sequence of <a href="org/apache/sis/referencing/NamedIdentifier.html#getParsedNames()">parsed names</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#head()">head()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns the first element in the sequence of <a href="org/apache/sis/util/iso/AbstractName.html#getParsedNames()">parsed names</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#head()">head()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Returns <code>this</code> since this object is already a local name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#headSet(E)">headSet(E)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns a view of the portion of this set whose elements occur with a frequency strictly less than
 <code>toElement</code> frequency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#headSet(org.apache.sis.measure.Range)">headSet(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a view of the portion of this sorted set whose elements are
 strictly less than <code>upper</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#HECTARE">HECTARE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 10,000 square metres (1 ha).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#HECTOPASCAL">HECTOPASCAL</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 100 pascals (1 hPa).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.Field.html#HEMISPHERE">HEMISPHERE</a></span> - Static variable in class <a href="org/apache/sis/measure/AngleFormat.Field.html" title="class in org.apache.sis.measure">AngleFormat.Field</a></dt>
<dd>
<div class="block">Identifies the hemisphere symbol (if any).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#HENRY">HENRY</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for inductance (H).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#HERTZ">HERTZ</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for frequency (Hz).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#HIGHEST_SUPPORTED_PRIME_NUMBER">HIGHEST_SUPPORTED_PRIME_NUMBER</a></span> - Static variable in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">The highest prime number supported by the <a href="org/apache/sis/math/MathFunctions.html#nextPrimeNumber(int)"><code>MathFunctions.nextPrimeNumber(int)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#HISTORY">HISTORY</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "history" attribute name for providing an audit trail for modifications to the
 original data (<em>Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#HOUR">HOUR</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 60×60 seconds (1 h).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifierSpace.html#HREF">HREF</a></span> - Static variable in interface <a href="org/apache/sis/xml/IdentifierSpace.html" title="interface in org.apache.sis.xml">IdentifierSpace</a></dt>
<dd>
<div class="block">An optional attribute for URN to an external resources, or to an other part of a XML
 document, or an identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#HYPHEN">HYPHEN</a></span> - Static variable in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Hyphen character ('‐', Unicode <code>2010</code>).</div>
</dd>
</dl>
<a id="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifierSpace.html#ID">ID</a></span> - Static variable in interface <a href="org/apache/sis/xml/IdentifierSpace.html" title="interface in org.apache.sis.xml">IdentifierSpace</a></dt>
<dd>
<div class="block">A standard GML attribute available on every object-with-identity.</div>
</dd>
<dt><a href="org/apache/sis/xml/IdentifiedObject.html" title="interface in org.apache.sis.xml"><span class="typeNameLink">IdentifiedObject</span></a> - Interface in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">The interface for all SIS objects having identifiers.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">IdentifiedObjectFinder</span></a> - Class in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Searches in an authority factory for objects approximately equal to a given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#%3Cinit%3E(org.opengis.referencing.AuthorityFactory)">IdentifiedObjectFinder(AuthorityFactory)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">Creates a finder using the specified factory.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html" title="enum in org.apache.sis.referencing.factory"><span class="typeNameLink">IdentifiedObjectFinder.Domain</span></a> - Enum in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">The domain of the search (for example whether to include deprecated objects in the search).</div>
</dd>
<dt><a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">IdentifiedObjects</span></a> - Class in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Utility methods working on arbitrary implementations of the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true" title="class or interface in org.opengis.referencing" class="externalLink"><code>IdentifiedObject</code></a> interface.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">IdentifiedObjectSet</span></a>&lt;<a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="type parameter in IdentifiedObjectSet">T</a> extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true" title="class or interface in org.opengis.referencing" class="externalLink">IdentifiedObject</a>&gt; - Class in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">A lazy set of <code>IdentifiedObject</code> instances created from their authority codes only when first needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#%3Cinit%3E(org.opengis.referencing.AuthorityFactory,java.lang.Class)">IdentifiedObjectSet(AuthorityFactory, Class&lt;T&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Creates an initially empty set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#IDENTIFIER">IDENTIFIER</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Object identifier, typically written almost last just before remarks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#IDENTIFIER">IDENTIFIER</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for an identifier (<em>Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#IDENTIFIER">IDENTIFIER</a></span> - Static variable in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Frequently-used constant for a column of object identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeRole.html#IDENTIFIER_COMPONENT">IDENTIFIER_COMPONENT</a></span> - <a href="org/apache/sis/feature/builder/AttributeRole.html" title="enum in org.apache.sis.feature.builder">AttributeRole</a></dt>
<dd>
<div class="block">Attribute value will be part of a unique identifier for the feature instance.</div>
</dd>
<dt><a href="org/apache/sis/xml/IdentifierMap.html" title="interface in org.apache.sis.xml"><span class="typeNameLink">IdentifierMap</span></a> - Interface in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">A map view of some or all identifiers in an <a href="org/apache/sis/xml/IdentifiedObject.html" title="interface in org.apache.sis.xml">identified object</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#identifierMatches(org.opengis.metadata.citation.Citation,java.lang.String)">identifierMatches(Citation, String)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">Returns <code>true</code> if at least one <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getIdentifiers()">identifier</a>
 in the given citation have a <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#getCode()">code</a> matching the given
 string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#identifierMatches(org.opengis.metadata.citation.Citation,org.opengis.metadata.citation.Citation)">identifierMatches(Citation, Citation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">Returns <code>true</code> if at least one <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getIdentifiers()">identifier</a>
 <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#getCode()">code</a> in <code>c1</code> is equal to an identifier code in
 <code>c2</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#identifiers">identifiers</a></span> - Variable in class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">All identifiers associated with this metadata, or <code>null</code> if none.</div>
</dd>
<dt><a href="org/apache/sis/xml/IdentifierSpace.html" title="interface in org.apache.sis.xml"><span class="typeNameLink">IdentifierSpace</span></a>&lt;<a href="org/apache/sis/xml/IdentifierSpace.html" title="type parameter in IdentifierSpace">T</a>&gt; - Interface in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Some identifier namespaces that are handled in a special way.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#identity(int)">identity(int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Returns an identity transform of the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverters.html#identity(java.lang.Class)">identity(Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/ObjectConverters.html" title="class in org.apache.sis.util">ObjectConverters</a></dt>
<dd>
<div class="block">Returns an identity converter for objects of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Transliterator.html#IDENTITY">IDENTITY</a></span> - Static variable in class <a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></dt>
<dd>
<div class="block">A transliterator that does not perform any replacement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#ignorableException(java.util.logging.Logger,java.lang.Class,java.lang.String,java.lang.Throwable)">ignorableException(Logger, Class&lt;?&gt;, String, Throwable)</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Invoked when an ignorable error occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#IGNORE_METADATA">IGNORE_METADATA</a></span> - <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Only the attributes relevant to the object functionality are compared.</div>
</dd>
<dt><a href="org/apache/sis/storage/IllegalFeatureTypeException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">IllegalFeatureTypeException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when a store can not write the given feature because its type is not one of the supported types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalFeatureTypeException.html#%3Cinit%3E(java.lang.String)">IllegalFeatureTypeException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalFeatureTypeException.html" title="class in org.apache.sis.storage">IllegalFeatureTypeException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalFeatureTypeException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">IllegalFeatureTypeException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalFeatureTypeException.html" title="class in org.apache.sis.storage">IllegalFeatureTypeException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalFeatureTypeException.html#%3Cinit%3E(java.lang.Throwable)">IllegalFeatureTypeException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalFeatureTypeException.html" title="class in org.apache.sis.storage">IllegalFeatureTypeException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalFeatureTypeException.html#%3Cinit%3E(java.util.Locale,java.lang.String,org.opengis.util.GenericName)">IllegalFeatureTypeException(Locale, String, GenericName)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalFeatureTypeException.html" title="class in org.apache.sis.storage">IllegalFeatureTypeException</a></dt>
<dd>
<div class="block">Creates an exception with a default message in the given locale.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/IllegalGridGeometryException.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">IllegalGridGeometryException</span></a> - Exception in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">Thrown when the argument specified to a method or constructor would result in an invalid <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid"><code>GridGeometry</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/IllegalGridGeometryException.html#%3Cinit%3E()">IllegalGridGeometryException()</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/IllegalGridGeometryException.html" title="class in org.apache.sis.coverage.grid">IllegalGridGeometryException</a></dt>
<dd>
<div class="block">Constructs an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/IllegalGridGeometryException.html#%3Cinit%3E(java.lang.String)">IllegalGridGeometryException(String)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/IllegalGridGeometryException.html" title="class in org.apache.sis.coverage.grid">IllegalGridGeometryException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/IllegalGridGeometryException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">IllegalGridGeometryException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/IllegalGridGeometryException.html" title="class in org.apache.sis.coverage.grid">IllegalGridGeometryException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message and cause.</div>
</dd>
<dt><a href="org/apache/sis/storage/IllegalNameException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">IllegalNameException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when an invalid name is used for identifying a coverage, a feature or other kind of element in a data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalNameException.html#%3Cinit%3E()">IllegalNameException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalNameException.html" title="class in org.apache.sis.storage">IllegalNameException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalNameException.html#%3Cinit%3E(java.lang.String)">IllegalNameException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalNameException.html" title="class in org.apache.sis.storage">IllegalNameException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalNameException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">IllegalNameException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalNameException.html" title="class in org.apache.sis.storage">IllegalNameException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalNameException.html#%3Cinit%3E(java.lang.Throwable)">IllegalNameException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalNameException.html" title="class in org.apache.sis.storage">IllegalNameException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalNameException.html#%3Cinit%3E(java.util.Locale,java.lang.String,java.lang.String)">IllegalNameException(Locale, String, String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalNameException.html" title="class in org.apache.sis.storage">IllegalNameException</a></dt>
<dd>
<div class="block">Creates a new exception with a message saying that the feature of the given name has not been found.</div>
</dd>
<dt><a href="org/apache/sis/storage/IllegalOpenParameterException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">IllegalOpenParameterException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when a <code>DataStore</code> can not be opened because of invalid parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalOpenParameterException.html#%3Cinit%3E()">IllegalOpenParameterException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalOpenParameterException.html" title="class in org.apache.sis.storage">IllegalOpenParameterException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalOpenParameterException.html#%3Cinit%3E(java.lang.String)">IllegalOpenParameterException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalOpenParameterException.html" title="class in org.apache.sis.storage">IllegalOpenParameterException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalOpenParameterException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">IllegalOpenParameterException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalOpenParameterException.html" title="class in org.apache.sis.storage">IllegalOpenParameterException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/IllegalOpenParameterException.html#%3Cinit%3E(java.lang.Throwable)">IllegalOpenParameterException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/IllegalOpenParameterException.html" title="class in org.apache.sis.storage">IllegalOpenParameterException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#image()">image()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Creates an image with the data specified by the last call to a <code>setData(…)</code> method.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">ImageRenderer</span></a> - Class in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">A builder for the rendered image to be returned by <a href="org/apache/sis/coverage/grid/GridCoverage.html#render(org.apache.sis.coverage.grid.GridExtent)"><code>GridCoverage.render(GridExtent)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#%3Cinit%3E(org.apache.sis.coverage.grid.GridCoverage,org.apache.sis.coverage.grid.GridExtent)">ImageRenderer(GridCoverage, GridExtent)</a></span> - Constructor for class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Creates a new image renderer for the given slice extent.</div>
</dd>
<dt><a href="org/apache/sis/geometry/ImmutableEnvelope.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">ImmutableEnvelope</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">An immutable <code>Envelope</code> (a minimum bounding box or rectangle) of arbitrary dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/ImmutableEnvelope.html#%3Cinit%3E(double%5B%5D,double%5B%5D,org.opengis.referencing.crs.CoordinateReferenceSystem)">ImmutableEnvelope(double[], double[], CoordinateReferenceSystem)</a></span> - Constructor for class <a href="org/apache/sis/geometry/ImmutableEnvelope.html" title="class in org.apache.sis.geometry">ImmutableEnvelope</a></dt>
<dd>
<div class="block">Constructs an envelope defined by two corners given as sequences of coordinate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/ImmutableEnvelope.html#%3Cinit%3E(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)">ImmutableEnvelope(DirectPosition, DirectPosition)</a></span> - Constructor for class <a href="org/apache/sis/geometry/ImmutableEnvelope.html" title="class in org.apache.sis.geometry">ImmutableEnvelope</a></dt>
<dd>
<div class="block">Constructs an envelope defined by two corners given as direct positions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/ImmutableEnvelope.html#%3Cinit%3E(org.opengis.geometry.Envelope)">ImmutableEnvelope(Envelope)</a></span> - Constructor for class <a href="org/apache/sis/geometry/ImmutableEnvelope.html" title="class in org.apache.sis.geometry">ImmutableEnvelope</a></dt>
<dd>
<div class="block">Creates an immutable envelope with the values of the given envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/ImmutableEnvelope.html#%3Cinit%3E(org.opengis.metadata.extent.GeographicBoundingBox)">ImmutableEnvelope(GeographicBoundingBox)</a></span> - Constructor for class <a href="org/apache/sis/geometry/ImmutableEnvelope.html" title="class in org.apache.sis.geometry">ImmutableEnvelope</a></dt>
<dd>
<div class="block">Constructs a new envelope with the same data than the specified geographic bounding box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/ImmutableEnvelope.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem,java.lang.CharSequence)">ImmutableEnvelope(CoordinateReferenceSystem, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/geometry/ImmutableEnvelope.html" title="class in org.apache.sis.geometry">ImmutableEnvelope</a></dt>
<dd>
<div class="block">Constructs a new envelope initialized to the values parsed from the given string in
 <code>BOX</code> or <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/ImmutableEnvelope.html#%3Cinit%3E(org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.geometry.Envelope)">ImmutableEnvelope(CoordinateReferenceSystem, Envelope)</a></span> - Constructor for class <a href="org/apache/sis/geometry/ImmutableEnvelope.html" title="class in org.apache.sis.geometry">ImmutableEnvelope</a></dt>
<dd>
<div class="block">Creates an immutable envelope with the coordinate values of the given envelope but
 a different CRS.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">ImmutableIdentifier</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Moved to <a href="org/apache/sis/referencing/package-summary.html"><code>org.apache.sis.referencing</code></a> for anticipation with Jigsaw modules.</div>
</div>
</dd>
<dt><a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">ImmutableIdentifier</span></a> - Class in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">Immutable value uniquely identifying an object within a namespace, together with a version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html#%3Cinit%3E(java.util.Map)">ImmutableIdentifier(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html" title="class in org.apache.sis.metadata.iso">ImmutableIdentifier</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructs an identifier from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#%3Cinit%3E(java.util.Map)">ImmutableIdentifier(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Constructs an identifier from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String,java.lang.String)">ImmutableIdentifier(Citation, String, String)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html" title="class in org.apache.sis.metadata.iso">ImmutableIdentifier</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new identifier from the specified code and authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String,java.lang.String)">ImmutableIdentifier(Citation, String, String)</a></span> - Constructor for class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Creates a new identifier from the specified code and authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String,java.lang.String,java.lang.String,org.opengis.util.InternationalString)">ImmutableIdentifier(Citation, String, String, String, InternationalString)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html" title="class in org.apache.sis.metadata.iso">ImmutableIdentifier</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new identifier from the specified code and authority,
 with an optional version number and description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String,java.lang.String,java.lang.String,org.opengis.util.InternationalString)">ImmutableIdentifier(Citation, String, String, String, InternationalString)</a></span> - Constructor for class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Creates a new identifier from the specified code and authority,
 with an optional version number and description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html#%3Cinit%3E(org.opengis.referencing.ReferenceIdentifier)">ImmutableIdentifier(ReferenceIdentifier)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/ImmutableIdentifier.html" title="class in org.apache.sis.metadata.iso">ImmutableIdentifier</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new identifier from the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/ImmutableIdentifier.html#%3Cinit%3E(org.opengis.referencing.ReferenceIdentifier)">ImmutableIdentifier(ReferenceIdentifier)</a></span> - Constructor for class <a href="org/apache/sis/referencing/ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></dt>
<dd>
<div class="block">Creates a new identifier from the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#implementSameInterfaces(java.lang.Class,java.lang.Class,java.lang.Class)">implementSameInterfaces(Class&lt;?&gt;, Class&lt;?&gt;, Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the two specified objects implements exactly the same set
 of interfaces.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#INAPPLICABLE">INAPPLICABLE</a></span> - Static variable in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">There is no value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#INCH">INCH</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 2.54 centimetres (1 in).</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/IncompleteGridGeometryException.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">IncompleteGridGeometryException</span></a> - Exception in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">Thrown by <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid"><code>GridGeometry</code></a> when a grid geometry can not provide the requested information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/IncompleteGridGeometryException.html#%3Cinit%3E()">IncompleteGridGeometryException()</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/IncompleteGridGeometryException.html" title="class in org.apache.sis.coverage.grid">IncompleteGridGeometryException</a></dt>
<dd>
<div class="block">Constructs an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/IncompleteGridGeometryException.html#%3Cinit%3E(java.lang.String)">IncompleteGridGeometryException(String)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/IncompleteGridGeometryException.html" title="class in org.apache.sis.coverage.grid">IncompleteGridGeometryException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/IncompleteGridGeometryException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">IncompleteGridGeometryException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/grid/IncompleteGridGeometryException.html" title="class in org.apache.sis.coverage.grid">IncompleteGridGeometryException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#increment(double)">increment(double)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the increment between all consecutive values if this increment is constant, or <code>null</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#indent(int)">indent(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Increases or decreases the indentation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#INDENTATION">INDENTATION</a></span> - Static variable in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">The number of spaces to use for indentation when formatting text files in WKT or XML formats.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#INDEX">INDEX</a></span> - Static variable in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Frequently-used constant for a column of index values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#indexOf(java.lang.CharSequence,int,int,int)">indexOf(CharSequence, int, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the index within the given character sequence of the first occurrence of the
 specified character, starting the search at the specified index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#indexOf(java.lang.CharSequence,java.lang.CharSequence,int,int)">indexOf(CharSequence, CharSequence, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the index within the given strings of the first occurrence of the specified part,
 starting at the specified index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#indexOfLineStart(java.lang.CharSequence,int,int)">indexOfLineStart(CharSequence, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the index of the first character after the given number of lines.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#indexOfRange(E)">indexOfRange(E)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">If the specified value is inside a range, returns the index of this range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#indicesToName(int%5B%5D)">indicesToName(int[])</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns the parameter descriptor name of a matrix or tensor element at the given indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#info(java.lang.String)">info(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Level.html?is-external=true#INFO" title="class or interface in java.util.logging" class="externalLink"><code>INFO</code></a> message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnparsableObjectException.html#initCause(java.lang.Throwable)">initCause(Throwable)</a></span> - Method in exception <a href="org/apache/sis/io/wkt/UnparsableObjectException.html" title="class in org.apache.sis.io.wkt">UnparsableObjectException</a></dt>
<dd>
<div class="block">Initializes the <i>cause</i> of this throwable to the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreException.html#initCause(java.lang.Throwable)">initCause(Throwable)</a></span> - Method in exception <a href="org/apache/sis/storage/DataStoreException.html" title="class in org.apache.sis.storage">DataStoreException</a></dt>
<dd>
<div class="block">Initializes the <i>cause</i> of this throwable to the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#INJECTIVE">INJECTIVE</a></span> - <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">A function is <cite>injective</cite> if each value of <var>T</var> is either unrelated
 to <var>S</var>, or is the output of exactly one value of <var>S</var>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(boolean%5B%5D,int,boolean%5B%5D,int,int)">insert(boolean[], int, boolean[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(boolean%5B%5D,int,int)">insert(boolean[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional "spaces"
 in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(byte%5B%5D,int,byte%5B%5D,int,int)">insert(byte[], int, byte[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(byte%5B%5D,int,int)">insert(byte[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional "spaces"
 in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(char%5B%5D,int,char%5B%5D,int,int)">insert(char[], int, char[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(char%5B%5D,int,int)">insert(char[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional "spaces"
 in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(double%5B%5D,int,double%5B%5D,int,int)">insert(double[], int, double[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(double%5B%5D,int,int)">insert(double[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional "spaces"
 in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(float%5B%5D,int,float%5B%5D,int,int)">insert(float[], int, float[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(float%5B%5D,int,int)">insert(float[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional "spaces"
 in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(int%5B%5D,int,int)">insert(int[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional "spaces"
 in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(int%5B%5D,int,int%5B%5D,int,int)">insert(int[], int, int[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#insert(int,org.opengis.metadata.spatial.DimensionNameType,long,long,boolean)">insert(int, DimensionNameType, long, long, boolean)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns a new grid envelope with the specified dimension inserted at the given index in this grid envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(long%5B%5D,int,int)">insert(long[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional "spaces"
 in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(long%5B%5D,int,long%5B%5D,int,int)">insert(long[], int, long[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(short%5B%5D,int,int)">insert(short[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional "spaces"
 in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(short%5B%5D,int,short%5B%5D,int,int)">insert(short[], int, short[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(E%5B%5D,int,int)">insert(E[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array, with additional
 "spaces" in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#insert(E%5B%5D,int,E%5B%5D,int,int)">insert(E[], int, E[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array,
 with the content of an other array inserted at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#insert(org.apache.sis.index.tree.QuadTreeData)">insert(QuadTreeData)</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Inserts the specified data into the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#install()">install()</a></span> - Static method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Installs a <code>MonolineFormatter</code> for the root logger, or returns the existing instance if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#install(java.sql.Connection)">install(Connection)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">Creates the EPSG schema in the database and populates the tables with geodetic definitions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#install(java.util.logging.Logger,java.util.logging.Level)">install(Logger, Level)</a></span> - Static method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Installs a <code>MonolineFormatter</code> for the specified logger, or returns the existing instance if any.</div>
</dd>
<dt><a href="org/apache/sis/setup/InstallationResources.html" title="class in org.apache.sis.setup"><span class="typeNameLink">InstallationResources</span></a> - Class in <a href="org/apache/sis/setup/package-summary.html">org.apache.sis.setup</a></dt>
<dd>
<div class="block">Resources needed for installation of third-party or optional components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/InstallationResources.html#%3Cinit%3E()">InstallationResources()</a></span> - Constructor for class <a href="org/apache/sis/setup/InstallationResources.html" title="class in org.apache.sis.setup">InstallationResources</a></dt>
<dd>
<div class="block">For subclass constructors.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html" title="class in org.apache.sis.referencing.factory.sql"><span class="typeNameLink">InstallationScriptProvider</span></a> - Class in <a href="org/apache/sis/referencing/factory/sql/package-summary.html">org.apache.sis.referencing.factory.sql</a></dt>
<dd>
<div class="block">Provides SQL scripts needed for creating a local copy of a dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html#%3Cinit%3E(java.lang.String,java.lang.String...)">InstallationScriptProvider(String, String...)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html" title="class in org.apache.sis.referencing.factory.sql">InstallationScriptProvider</a></dt>
<dd>
<div class="block">Creates a new provider which will read script files of the given names in that order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#INSTITUTION">INSTITUTION</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Responsible</a></dt>
<dd>
<div class="block">The attribute name for the responsible's institution, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#INSTRUMENT">INSTRUMENT</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the contributing instrument(s) or sensor(s) used to create the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#INSUFFICIENT_BYTES">INSUFFICIENT_BYTES</a></span> - Static variable in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">The open capability can not be determined because the <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio" class="externalLink"><code>ByteBuffer</code></a> contains an insufficient
 amount of bytes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/TransferType.html#INT">INT</a></span> - Static variable in class <a href="org/apache/sis/image/TransferType.html" title="class in org.apache.sis.image">TransferType</a></dt>
<dd>
<div class="block">Specifies that sample values are transfered as 32 bits signed integer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#INTEGER">INTEGER</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Integer numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#INTEGER">INTEGER</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 5 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">IntegerList</span></a> - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A list of unsigned integer values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#%3Cinit%3E(int,int)">IntegerList(int, int)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Creates an initially empty list with the given initial capacity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#%3Cinit%3E(int,int,boolean)">IntegerList(int, int, boolean)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Creates a new list with the given initial size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#INTERNAL">INTERNAL</a></span> - <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">A special convention for formatting objects as stored internally by Apache SIS.</div>
</dd>
<dt><a href="org/apache/sis/storage/InternalDataStoreException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">InternalDataStoreException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when an internal error occurred in a <code>DataStore</code> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/InternalDataStoreException.html#%3Cinit%3E()">InternalDataStoreException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/InternalDataStoreException.html" title="class in org.apache.sis.storage">InternalDataStoreException</a></dt>
<dd>
<div class="block">Creates an exception with no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/InternalDataStoreException.html#%3Cinit%3E(java.lang.String)">InternalDataStoreException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/InternalDataStoreException.html" title="class in org.apache.sis.storage">InternalDataStoreException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/InternalDataStoreException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">InternalDataStoreException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/InternalDataStoreException.html" title="class in org.apache.sis.storage">InternalDataStoreException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/InternalDataStoreException.html#%3Cinit%3E(java.lang.Throwable)">InternalDataStoreException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/InternalDataStoreException.html" title="class in org.apache.sis.storage">InternalDataStoreException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#interpolate(double%5B%5D,double%5B%5D)">interpolate(double[], double[])</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Creates a transform for the <i>y=f(x)</i> function where <var>y</var> are computed by a linear interpolation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#interpolateAt(double...)">interpolateAt(double...)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Interpolates the translation to apply for the given coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#INTERPOLATED_DIMENSIONS">INTERPOLATED_DIMENSIONS</a></span> - Static variable in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Number of source dimensions in which interpolations are applied.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">InterpolatedGeocentricTransform</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Transforms between two geographic CRS by performing geocentric translations interpolated from a grid file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html#%3Cinit%3E(org.opengis.referencing.datum.Ellipsoid,boolean,org.opengis.referencing.datum.Ellipsoid,boolean,org.apache.sis.referencing.datum.DatumShiftGrid)">InterpolatedGeocentricTransform(Ellipsoid, boolean, Ellipsoid, boolean, DatumShiftGrid&lt;Angle, Length&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedGeocentricTransform</a></dt>
<dd>
<div class="block">Creates a transform from the specified parameters.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">InterpolatedMolodenskyTransform</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Transforms between two geographic CRS by performing geocentric translations interpolated from a grid file, but using
 Molodensky approximation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html#%3Cinit%3E(org.opengis.referencing.datum.Ellipsoid,boolean,org.opengis.referencing.datum.Ellipsoid,boolean,org.apache.sis.referencing.datum.DatumShiftGrid)">InterpolatedMolodenskyTransform(Ellipsoid, boolean, Ellipsoid, boolean, DatumShiftGrid&lt;Angle, Length&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedMolodenskyTransform</a></dt>
<dd>
<div class="block">Creates a transform from the specified parameters.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">InterpolatedTransform</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Transforms between two CRS by performing translations interpolated from a grid file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#%3Cinit%3E(org.apache.sis.referencing.datum.DatumShiftGrid)">InterpolatedTransform(DatumShiftGrid&lt;T, T&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Creates a transform for the given interpolation grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#interpolateInCell(double,double,double%5B%5D)">interpolateInCell(double, double, double[])</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Interpolates the translation to apply for the given two-dimensional grid indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#intersect(org.apache.sis.measure.Range)">intersect(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Returns the intersection between this range and the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#intersect(org.apache.sis.measure.Range)">intersect(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns the intersection between this range and the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#intersect(org.apache.sis.measure.Range)">intersect(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a view of the portion of this range set which is the intersection of
 this <code>RangeSet</code> with the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#intersect(org.opengis.geometry.Envelope)">intersect(Envelope)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Sets this envelope to the intersection of this envelope with the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#intersect(org.opengis.geometry.Envelope...)">intersect(Envelope...)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Computes the intersection of all given envelopes, transforming them to a common CRS if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#intersect(org.opengis.metadata.extent.Extent)">intersect(Extent)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Sets this extent to the intersection of this extent with the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#intersect(org.opengis.metadata.extent.GeographicBoundingBox)">intersect(GeographicBoundingBox)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Sets this bounding box to the intersection of this box with the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#intersect(org.opengis.metadata.extent.TemporalExtent)">intersect(TemporalExtent)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Sets this temporal extent to the intersection of this extent with the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#intersect(org.opengis.metadata.extent.VerticalExtent)">intersect(VerticalExtent)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Sets this vertical extent to the intersection of this extent with the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#intersectAny(org.apache.sis.measure.NumberRange)">intersectAny(NumberRange&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns the union of this range with the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#intersection(org.opengis.metadata.extent.Extent,org.opengis.metadata.extent.Extent)">intersection(Extent, Extent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns the intersection of the given extents.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#intersection(org.opengis.metadata.extent.GeographicBoundingBox,org.opengis.metadata.extent.GeographicBoundingBox)">intersection(GeographicBoundingBox, GeographicBoundingBox)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns the intersection of the given geographic bounding boxes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#intersection(org.opengis.metadata.extent.TemporalExtent,org.opengis.metadata.extent.TemporalExtent)">intersection(TemporalExtent, TemporalExtent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns the intersection of the given temporal extents.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#intersection(org.opengis.metadata.extent.VerticalExtent,org.opengis.metadata.extent.VerticalExtent)">intersection(VerticalExtent, VerticalExtent)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">Returns the intersection of the given vertical extents.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Shapes2D.html#intersectionPoint(java.awt.geom.Line2D,java.awt.geom.Line2D)">intersectionPoint(Line2D, Line2D)</a></span> - Static method in class <a href="org/apache/sis/geometry/Shapes2D.html" title="class in org.apache.sis.geometry">Shapes2D</a></dt>
<dd>
<div class="block">Returns the intersection point between two line segments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#intersects(double,double,double,double)">intersects(double, double, double, double)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this envelope intersects the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#intersects(java.awt.geom.Rectangle2D)">intersects(Rectangle2D)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this envelope intersects the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#intersects(java.lang.Object%5B%5D,java.lang.Object%5B%5D)">intersects(Object[], Object[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if at least one element in the first array is <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> to an element in the second array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#intersects(org.apache.sis.measure.Range)">intersects(Range&lt;? extends E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this range intersects the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#intersects(org.apache.sis.measure.Range)">intersects(Range&lt;? extends E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this range intersects the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#intersects(org.opengis.geometry.Envelope)">intersects(Envelope)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this envelope intersects the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#intersects(org.opengis.geometry.Envelope,boolean)">intersects(Envelope, boolean)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this envelope intersects or (optionally) touches the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#intersectsAny(org.apache.sis.measure.NumberRange)">intersectsAny(NumberRange&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the supplied range intersects this range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#intValue()">intValue()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns this fraction rounded toward zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#intValue()">intValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns 1 if the <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#getDenominator()">denominator</a> is equals to 1, or 0 otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#intValue()">intValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns the integer value of this parameter, usually used for a count.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#intValue(int)">intValue(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the value at the given index as an <code>int</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#intValue(org.opengis.parameter.ParameterDescriptor)">intValue(ParameterDescriptor&lt;? extends Number&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the integer value of the parameter identified by the given descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#intValueList()">intValueList()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns an ordered sequence of two or more integer values of this parameter, usually used for counts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#intValueList(org.opengis.parameter.ParameterDescriptor)">intValueList(ParameterDescriptor&lt;int[]&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the integer values of the parameter identified by the given descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#INVALID_ARGUMENT_EXIT_CODE">INVALID_ARGUMENT_EXIT_CODE</a></span> - Static variable in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">The code given to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#exit(int)" title="class or interface in java.lang" class="externalLink"><code>System.exit(int)</code></a> when the program failed because of an illegal user argument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#INVALID_COMMAND_EXIT_CODE">INVALID_COMMAND_EXIT_CODE</a></span> - Static variable in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">The code given to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#exit(int)" title="class or interface in java.lang" class="externalLink"><code>System.exit(int)</code></a> when the program failed because of a unknown sub-command.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#INVALID_OPTION_EXIT_CODE">INVALID_OPTION_EXIT_CODE</a></span> - Static variable in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">The code given to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#exit(int)" title="class or interface in java.lang" class="externalLink"><code>System.exit(int)</code></a> when the program failed because of a unknown option.</div>
</dd>
<dt><a href="org/apache/sis/console/InvalidCommandException.html" title="class in org.apache.sis.console"><span class="typeNameLink">InvalidCommandException</span></a> - Exception in <a href="org/apache/sis/console/package-summary.html">org.apache.sis.console</a></dt>
<dd>
<div class="block">Thrown when a unknown command has been given by the user on the command-line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/InvalidCommandException.html#%3Cinit%3E(java.lang.String,java.lang.String)">InvalidCommandException(String, String)</a></span> - Constructor for exception <a href="org/apache/sis/console/InvalidCommandException.html" title="class in org.apache.sis.console">InvalidCommandException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/InvalidGeodeticParameterException.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">InvalidGeodeticParameterException</span></a> - Exception in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Thrown when a factory <code>createFoo(…)</code> method is given invalid parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/InvalidGeodeticParameterException.html#%3Cinit%3E()">InvalidGeodeticParameterException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/InvalidGeodeticParameterException.html" title="class in org.apache.sis.referencing.factory">InvalidGeodeticParameterException</a></dt>
<dd>
<div class="block">Construct an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/InvalidGeodeticParameterException.html#%3Cinit%3E(java.lang.String)">InvalidGeodeticParameterException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/InvalidGeodeticParameterException.html" title="class in org.apache.sis.referencing.factory">InvalidGeodeticParameterException</a></dt>
<dd>
<div class="block">Construct an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/InvalidGeodeticParameterException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">InvalidGeodeticParameterException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/InvalidGeodeticParameterException.html" title="class in org.apache.sis.referencing.factory">InvalidGeodeticParameterException</a></dt>
<dd>
<div class="block">Construct an exception with the specified detail message and cause.</div>
</dd>
<dt><a href="org/apache/sis/metadata/InvalidMetadataException.html" title="class in org.apache.sis.metadata"><span class="typeNameLink">InvalidMetadataException</span></a> - Exception in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Thrown when a metadata is in a invalid state or has illegal property values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/InvalidMetadataException.html#%3Cinit%3E(java.lang.String)">InvalidMetadataException(String)</a></span> - Constructor for exception <a href="org/apache/sis/metadata/InvalidMetadataException.html" title="class in org.apache.sis.metadata">InvalidMetadataException</a></dt>
<dd>
<div class="block">Creates a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/InvalidMetadataException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">InvalidMetadataException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/metadata/InvalidMetadataException.html" title="class in org.apache.sis.metadata">InvalidMetadataException</a></dt>
<dd>
<div class="block">Creates a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/InvalidMetadataException.html#%3Cinit%3E(java.lang.Throwable)">InvalidMetadataException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/metadata/InvalidMetadataException.html" title="class in org.apache.sis.metadata">InvalidMetadataException</a></dt>
<dd>
<div class="block">Creates a new exception with the specified cause.</div>
</dd>
<dt><a href="org/apache/sis/console/InvalidOptionException.html" title="class in org.apache.sis.console"><span class="typeNameLink">InvalidOptionException</span></a> - Exception in <a href="org/apache/sis/console/package-summary.html">org.apache.sis.console</a></dt>
<dd>
<div class="block">Thrown when an illegal option has been given by the user on the command-line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/InvalidOptionException.html#%3Cinit%3E(java.lang.String,java.lang.String)">InvalidOptionException(String, String)</a></span> - Constructor for exception <a href="org/apache/sis/console/InvalidOptionException.html" title="class in org.apache.sis.console">InvalidOptionException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/InvalidOptionException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable,java.lang.String)">InvalidOptionException(String, Throwable, String)</a></span> - Constructor for exception <a href="org/apache/sis/console/InvalidOptionException.html" title="class in org.apache.sis.console">InvalidOptionException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message and cause.</div>
</dd>
<dt><a href="org/apache/sis/io/InvalidSeekException.html" title="class in org.apache.sis.io"><span class="typeNameLink">InvalidSeekException</span></a> - Exception in <a href="org/apache/sis/io/package-summary.html">org.apache.sis.io</a></dt>
<dd>
<div class="block">Thrown when an input stream or a channel can not modify its position to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/InvalidSeekException.html#%3Cinit%3E()">InvalidSeekException()</a></span> - Constructor for exception <a href="org/apache/sis/io/InvalidSeekException.html" title="class in org.apache.sis.io">InvalidSeekException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/InvalidSeekException.html#%3Cinit%3E(java.lang.String)">InvalidSeekException(String)</a></span> - Constructor for exception <a href="org/apache/sis/io/InvalidSeekException.html" title="class in org.apache.sis.io">InvalidSeekException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/InvalidSeekException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">InvalidSeekException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/io/InvalidSeekException.html" title="class in org.apache.sis.io">InvalidSeekException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns the inverse of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Returns the inverse of this map projection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html" title="class in org.apache.sis.referencing.operation.projection">ZonedGridSystem</a></dt>
<dd>
<div class="block">Returns the inverse of this map projection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Returns the inverse transform of this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Returns the inverse of this math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></dt>
<dd>
<div class="block">Returns the inverse transform of this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D.Inverse</a></dt>
<dd>
<div class="block">Returns the inverse of this math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></dt>
<dd>
<div class="block">Returns the inverse transform of this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D.Inverse</a></dt>
<dd>
<div class="block">Returns the inverse of this math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Returns the inverse of this transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedGeocentricTransform</a></dt>
<dd>
<div class="block">Returns the inverse of this interpolated geocentric transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedMolodenskyTransform</a></dt>
<dd>
<div class="block">Returns the inverse of this interpolated Molodensky transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Returns the inverse of this interpolated transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/LinearTransform.html#inverse()">inverse()</a></span> - Method in interface <a href="org/apache/sis/referencing/operation/transform/LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></dt>
<dd>
<div class="block">Returns the inverse transform of this object, which shall also be linear.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">MolodenskyTransform</a></dt>
<dd>
<div class="block">Returns the inverse of this Molodensky transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#inverse()">inverse()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Creates the inverse transform of this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverter.html#inverse()">inverse()</a></span> - Method in interface <a href="org/apache/sis/util/ObjectConverter.html" title="interface in org.apache.sis.util">ObjectConverter</a></dt>
<dd>
<div class="block">Returns a converter capable to convert instances of <var>T</var> back to instances of <var>S</var>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#inverse(org.opengis.referencing.operation.Matrix)">inverse(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Returns the inverse of the given matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#%3Cinit%3E()">Inverse()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Constructs an inverse math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html#%3Cinit%3E()">Inverse()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D.Inverse</a></dt>
<dd>
<div class="block">Constructs an inverse math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html#%3Cinit%3E()">Inverse()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D.Inverse</a></dt>
<dd>
<div class="block">Constructs an inverse math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html#INVERSE_DENORMALIZATION">INVERSE_DENORMALIZATION</a></span> - <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a></dt>
<dd>
<div class="block">Inverse of the <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html#DENORMALIZATION"><code>ContextualParameters.MatrixRole.DENORMALIZATION</code></a> matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html#INVERSE_NORMALIZATION">INVERSE_NORMALIZATION</a></span> - <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a></dt>
<dd>
<div class="block">Inverse of the <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html#NORMALIZATION"><code>ContextualParameters.MatrixRole.NORMALIZATION</code></a> matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#inverseDeltaTransform(java.awt.geom.AffineTransform,java.awt.geom.Point2D,java.awt.geom.Point2D)">inverseDeltaTransform(AffineTransform, Point2D, Point2D)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Calculates the inverse transform of a point without applying the translation components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">AlbersEqualArea</a></dt>
<dd>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates and stores the (θ,φ) result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">CylindricalEqualArea</a></dt>
<dd>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates
 and stores the result in <code>dstPts</code> (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html" title="class in org.apache.sis.referencing.operation.projection">LambertConicConformal</a></dt>
<dd>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates and stores the (θ,φ) result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Mercator.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Mercator.html" title="class in org.apache.sis.referencing.operation.projection">Mercator</a></dt>
<dd>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates
 and stores the result in <code>dstPts</code> (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Mollweide.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Mollweide.html" title="class in org.apache.sis.referencing.operation.projection">Mollweide</a></dt>
<dd>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates
 and stores the result in <code>dstPts</code> (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Inverse converts the single coordinate in <code>srcPts</code> at the given offset and stores the result in
 <code>ptDst</code> at the given offset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ObliqueMercator.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ObliqueMercator.html" title="class in org.apache.sis.referencing.operation.projection">ObliqueMercator</a></dt>
<dd>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates and stores the result in <code>dstPts</code>
 (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html" title="class in org.apache.sis.referencing.operation.projection">ObliqueStereographic</a></dt>
<dd>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates and stores the result in <code>dstPts</code>
 (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html" title="class in org.apache.sis.referencing.operation.projection">PolarStereographic</a></dt>
<dd>
<div class="block">Converts the specified (x,y) coordinates and stores the result in <code>dstPts</code> (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Polyconic.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Polyconic.html" title="class in org.apache.sis.referencing.operation.projection">Polyconic</a></dt>
<dd>
<div class="block">Transforms the specified (<var>x</var>,<var>y</var>) coordinates
 and stores the result in <code>dstPts</code> (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html" title="class in org.apache.sis.referencing.operation.projection">Sinusoidal</a></dt>
<dd>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates
 and stores the result in <code>dstPts</code> (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform(double[], int, double[], int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html" title="class in org.apache.sis.referencing.operation.projection">TransverseMercator</a></dt>
<dd>
<div class="block">Transforms the specified (η, ξ) coordinates and stores the result in <code>dstPts</code> (angles in radians).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#inverseTransform(double%5B%5D,int,double%5B%5D,int,int)">inverseTransform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Converts Cartesian coordinates (<var>X</var>,<var>Y</var>,<var>Z</var>) to ellipsoidal coordinates
 (λ,φ) or (λ,φ,<var>h</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#inverseTransform(java.awt.geom.AffineTransform,java.awt.geom.Rectangle2D,java.awt.geom.Rectangle2D)">inverseTransform(AffineTransform, Rectangle2D, Rectangle2D)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Calculates a rectangle which entirely contains the inverse transform of <code>bounds</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#invert()">invert()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Inverts in-place the transformation by inverting the sign of all numerical parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#INVERTIBLE">INVERTIBLE</a></span> - <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">A function is <cite>invertible</cite> if it can provide an other function mapping
 <var>T</var> values to <var>S</var> values.</div>
</dd>
<dt><a href="org/apache/sis/io/IO.html" title="class in org.apache.sis.io"><span class="typeNameLink">IO</span></a> - Class in <a href="org/apache/sis/io/package-summary.html">org.apache.sis.io</a></dt>
<dd>
<div class="block">Utilities methods working on <a href="https://docs.oracle.com/javase/8/docs/api/java/io/package-summary.html?is-external=true" class="externalLink"><code>java.io</code></a> objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#IO_EXCEPTION_EXIT_CODE">IO_EXCEPTION_EXIT_CODE</a></span> - Static variable in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">The code given to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#exit(int)" title="class or interface in java.lang" class="externalLink"><code>System.exit(int)</code></a> when the program failed because of an <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>IOException</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#isAbstract()">isAbstract()</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the feature type to create will act as an abstract super-type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#isAbstract()">isAbstract()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the feature type acts as an abstract super-type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#isAcronymForWords(java.lang.CharSequence,java.lang.CharSequence)">isAcronymForWords(CharSequence, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the first string is likely to be an acronym of the second string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#isAffine()">isAffine()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix represents an affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#isAffine()">isAffine()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix represents an affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#isAffine()">isAffine()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix represents an affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#isAffine()">isAffine()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix represents an affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#isAffine()">isAffine()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix represents an affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/LinearTransform.html#isAffine()">isAffine()</a></span> - Method in interface <a href="org/apache/sis/referencing/operation/transform/LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this transform is affine.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#isAffine(org.opengis.referencing.operation.Matrix)">isAffine(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given matrix represents an affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#isAllNaN()">isAllNaN()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns <code>false</code> if at least one coordinate value is not <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#isAlternateForm()">isAlternateForm()</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this <code>RangeFormat</code> shall use the alternate form at
 formatting time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#isAngular(javax.measure.Unit)">isAngular(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given unit is a linear unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#isApproximate()">isApproximate()</a></span> - Method in enum <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this comparison uses a tolerance threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#isApproximative()">isApproximative()</a></span> - Method in enum <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/util/ComparisonMode.html#isApproximate()"><code>ComparisonMode.isApproximate()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#isAssignableFrom(org.apache.sis.feature.DefaultFeatureType)">isAssignableFrom(DefaultFeatureType)</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this type is same or a super-type of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#isAssignableToAny(java.lang.Class,java.lang.Class...)">isAssignableToAny(Class&lt;?&gt;, Class&lt;?&gt;...)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given type is assignable to one of the given allowed types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#isBijective(java.util.Set)">isBijective(Set&lt;FunctionProperty&gt;)</a></span> - Static method in enum <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">Returns <code>true</code> if a function having the given set of properties is <cite>bijective</cite>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#ISBN">ISBN</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The <cite>International Standard Book Number</cite> (ISBN) defined by ISO-2108.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#isBounded()">isBounded()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this range is both left-bounded and right-bounded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#isCacheable(java.lang.String,java.lang.Object)">isCacheable(String, Object)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns whether the given object can be cached.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#isCacheable(java.lang.String,java.lang.Object)">isCacheable(String, Object)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">Returns whether the given object can be cached.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#isCameraCalibrationInformationAvailable()">isCameraCalibrationInformationAvailable()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the indication of whether or not constants are available which allow for camera calibration corrections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#isCellInGrid(double,double)">isCellInGrid(double, double)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given grid coordinates is inside this grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#isCellValueRatio()">isCellValueRatio()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the translation values in the cells are divided by the cell size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#isCheckPointAvailable()">isCheckPointAvailable()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Returns an indication of whether or not geographic position points are available to test the
 accuracy of the georeferenced grid data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#isCompliant()">isCompliant()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Returns whether or not the cited feature catalogue complies with ISO 19110.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#isControlPointAvailable()">isControlPointAvailable()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Returns an indication of whether or not control point(s) exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#isConversionLinear(int...)">isConversionLinear(int...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Indicates whether the <cite>grid to CRS</cite> conversion is linear for all the specified CRS axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#isDefined(int)">isDefined(int)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all the parameters specified by the argument are set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html#isDefiningConversion()">isDefiningConversion()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">AbstractCoordinateOperation</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this coordinate operation is for the definition of a
 <a href="org/apache/sis/referencing/crs/DefaultDerivedCRS.html" title="class in org.apache.sis.referencing.crs">derived</a> or
 <a href="org/apache/sis/referencing/crs/DefaultProjectedCRS.html" title="class in org.apache.sis.referencing.crs">projected CRS</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#isDeprecated()">isDeprecated()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this type is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#isDeprecated()">isDeprecated()</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the type is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#isDeprecated()">isDeprecated()</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this object is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Deprecable.html#isDeprecated()">isDeprecated()</a></span> - Method in interface <a href="org/apache/sis/util/Deprecable.html" title="interface in org.apache.sis.util">Deprecable</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this instance is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#isEditable(org.apache.sis.util.collection.TableColumn)">isEditable(TableColumn&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Determines whether the value in the specified column is editable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#isEditable(org.apache.sis.util.collection.TableColumn)">isEditable(TableColumn&lt;?&gt;)</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Determines whether the value in the specified column is editable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Determines whether or not this envelope is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Determines whether the envelope is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this range is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this metadata contains only <code>null</code>,
 <a href="org/apache/sis/xml/NilObject.html" title="interface in org.apache.sis.xml">nil</a> or empty properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this metadata is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns <code>true</code> if no scale is defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this cache is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this set does not contains any element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#isEmpty()">isEmpty()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this set is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Emptiable.html#isEmpty()">isEmpty()</a></span> - Method in interface <a href="org/apache/sis/util/Emptiable.html" title="interface in org.apache.sis.util">Emptiable</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this instance is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#isFallbackAllowed()">isFallbackAllowed()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the <a href="org/apache/sis/measure/AngleFormat.html#parse(java.lang.String,java.text.ParsePosition)"><code>parse</code></a> methods are allowed
 to fallback on the build-in default symbols if the string to parse doesn't match the
 <a href="org/apache/sis/measure/AngleFormat.html#applyPattern(java.lang.String)">applied pattern</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#isFilmDistortionInformationAvailable()">isFilmDistortionInformationAvailable()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the indication of whether or not Calibration Reseau information is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#isFloat(java.lang.Class)">isFloat(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given <code>type</code> is a floating point type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#isForAllPopulation()">isForAllPopulation()</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this formatter shall consider that the statistics where computed
 using the totality of the populations under study.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameSpace.html#isGlobal()">isGlobal()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">DefaultNameSpace</a></dt>
<dd>
<div class="block">Indicates whether this namespace is a "top level" namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#isHeuristicMatchForName(java.lang.String)">isHeuristicMatchForName(String)</a></span> - Method in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if either the <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getName()">primary name</a> or at least
 one <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getAlias()">alias</a> matches the given string according heuristic rules.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#isHeuristicMatchForName(java.lang.String)">isHeuristicMatchForName(String)</a></span> - Method in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Returns <code>true</code> if either the <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getName()">primary name</a> or at least
 one <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getAlias()">alias</a> matches the given string according heuristic rules.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/AbstractDatum.html#isHeuristicMatchForName(java.lang.String)">isHeuristicMatchForName(String)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></dt>
<dd>
<div class="block">Returns <code>true</code> if either the <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getName()">primary name</a> or at least
 one <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getAlias()">alias</a> matches the given string according heuristic rules.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html#isHeuristicMatchForName(java.lang.String)">isHeuristicMatchForName(String)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></dt>
<dd>
<div class="block">Returns <code>true</code> if either the <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getName()">primary name</a> or at least
 one <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getAlias()">alias</a> matches the given string according heuristic rules.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#isHeuristicMatchForName(org.opengis.referencing.IdentifiedObject,java.lang.String)">isHeuristicMatchForName(IdentifiedObject, String)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns <code>true</code> if either the <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getName()">primary name</a> or at least
 one <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getAlias()">alias</a> matches the given string according heuristic rules.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#isHexadecimal(int)">isHexadecimal(int)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given character is an hexadecimal digit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#isHorizontalCRS(org.opengis.referencing.crs.CoordinateReferenceSystem)">isHorizontalCRS(CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given CRS is horizontal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Returns <code>true</code> if a transformation built from this set of parameters would perform no operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Returns <code>true</code> if a transformation built from this set of parameters would perform no operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix is an identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix is an identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix is an identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix is an identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this matrix is an identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></dt>
<dd>
<div class="block">Tests whether this transform does not move any points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Tests whether this transform does not move any points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">MolodenskyTransform</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this transform is the identity one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Tests whether this transform does not move any points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#isIdentity()">isIdentity()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this transfer function is identity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#isIdentity(org.opengis.referencing.operation.Matrix,double)">isIdentity(Matrix, double)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given matrix is close to an identity matrix, given a tolerance threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#isIgnoringAxes()">isIgnoringAxes()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the search should ignore coordinate system axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#isIgnoringMetadata()">isIgnoringMetadata()</a></span> - Method in enum <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this comparison ignores metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#isIncludedWithDataset()">isIncludedWithDataset()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Returns whether or not the feature catalogue is included with the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#isInstance(org.opengis.util.Record)">isInstance(Record)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Determines if the given record is compatible with this record type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#isInteger()">isInteger()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this vector contains only integer values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#isInteger(java.lang.Class)">isInteger(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given <code>type</code> is an integer type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#isInvalidWKT()">isInvalidWKT()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the WKT written by this formatter is not strictly compliant to the WKT specification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#isIvfDefinitive()">isIvfDefinitive()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Indicates if the <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#getInverseFlattening()">inverse flattening</a> is definitive for
 this ellipsoid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#isKeyCollisionAllowed()">isKeyCollisionAllowed()</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns <code>true</code> if different values may be assigned to the same key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#isLeaf()">isLeaf()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this node can not have any children.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#isLeaf()">isLeaf()</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this node can not have any children.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#isLenient()">isLenient()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Returns whether this factory should relax some rules when processing a given authority code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#isLensDistortionInformationAvailable()">isLensDistortionInformationAvailable()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the indication of whether or not lens aberration correction information is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#isLinear(javax.measure.Unit)">isLinear(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given unit is a linear unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#isLineOrParagraphSeparator(int)">isLineOrParagraphSeparator(int)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given code point is a <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true#LINE_SEPARATOR" title="class or interface in java.lang" class="externalLink">line separator</a>, a <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true#PARAGRAPH_SEPARATOR" title="class or interface in java.lang" class="externalLink">paragraph separator</a> or one
 of the <code>'\r'</code> or <code>'\n'</code> control characters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#isLocaleSensitive()">isLocaleSensitive()</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Returns whether this <code>UnitFormat</code> depends on the <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"><code>Locale</code></a> given at construction time
 for performing its tasks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#isLoggable(java.util.logging.Level)">isLoggable(Level)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified level is loggable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#isMaxIncluded">isMaxIncluded</a></span> - Variable in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block"><code>true</code> if the maximal values of ranges in this set are inclusive, or <code>false</code>
 if exclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#isMaxIncluded()">isMaxIncluded()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the <a href="org/apache/sis/measure/Range.html#getMaxValue()">maximal value</a> is inclusive,
 or <code>false</code> if exclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/ValueRange.html#isMaxIncluded()">isMaxIncluded()</a></span> - Method in annotation type <a href="org/apache/sis/measure/ValueRange.html" title="annotation in org.apache.sis.measure">ValueRange</a></dt>
<dd>
<div class="block"><code>true</code> if the <a href="org/apache/sis/measure/ValueRange.html#maximum()">maximal</a> value is inclusive, or <code>false</code>
 if it is exclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#isMetadata(java.lang.Class)">isMetadata(Class&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given type is assignable to a type from this standard or one of its dependencies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#isMinIncluded">isMinIncluded</a></span> - Variable in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block"><code>true</code> if the minimal values of ranges in this set are inclusive, or <code>false</code>
 if exclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#isMinIncluded()">isMinIncluded()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the <a href="org/apache/sis/measure/Range.html#getMinValue()">minimal value</a> is inclusive,
 or <code>false</code> if exclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/ValueRange.html#isMinIncluded()">isMinIncluded()</a></span> - Method in annotation type <a href="org/apache/sis/measure/ValueRange.html" title="annotation in org.apache.sis.measure">ValueRange</a></dt>
<dd>
<div class="block"><code>true</code> if the <a href="org/apache/sis/measure/ValueRange.html#minimum()">minimal</a> value is inclusive, or <code>false</code>
 if it is exclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#isModifiable()">isModifiable()</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code><a href="org/apache/sis/metadata/ModifiableMetadata.html#state()">ModifiableMetadata.state()</a> != State.FINAL</code>.
             See <a href="https://issues.apache.org/jira/browse/SIS-81">SIS-81</a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#isMonotonic(java.util.Set)">isMonotonic(Set&lt;FunctionProperty&gt;)</a></span> - Static method in enum <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">Returns <code>true</code> if a function having the given set of properties is <cite>monotonic</cite>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#isMultiLinesCells()">isMultiLinesCells()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Returns <code>true</code> if EOL characters are used for line feeds inside current cells.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#isNameUsed(java.lang.String)">isNameUsed(String)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Returns <code>true</code> if a property of the given name is defined or if the given name is ambiguous.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#isNaN(int)">isNaN(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the value at the given index is <code>null</code> or <code>NaN</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#isNegative(double)">isNegative(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given value is negative, <em>including</em> negative zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#isNegativeZero(double)">isNegativeZero(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given value is the negative zero (<code>-0.0</code>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#isNullOrEmpty(java.util.Collection)">isNullOrEmpty(Collection&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given collection is either null or
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#isEmpty()" title="class or interface in java.util" class="externalLink">empty</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#isNullOrEmpty(java.util.Map)">isNullOrEmpty(Map&lt;?, ?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given map is either null or <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#isEmpty()" title="class or interface in java.util" class="externalLink">empty</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#ISO_19111">ISO_19111</a></span> - Static variable in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">An instance working on ISO 19111 standard as defined by GeoAPI interfaces
 in the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/package-summary.html?is-external=true" class="externalLink"><code>org.opengis.referencing</code></a> package and sub-packages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#ISO_19115">ISO_19115</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The <cite>Geographic Information — Metadata</cite> standards defined by ISO 19115.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#ISO_19115">ISO_19115</a></span> - Static variable in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">An instance working on ISO 19115 standard as defined by GeoAPI interfaces
 in the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/package-summary.html?is-external=true" class="externalLink"><code>org.opengis.metadata</code></a> package and sub-packages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#ISO_19123">ISO_19123</a></span> - Static variable in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">An instance working on ISO 19123 standard as defined by GeoAPI interfaces
 in the <code>org.opengis.coverage</code> package and sub-packages.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso"><span class="typeNameLink">ISOMetadata</span></a> - Class in <a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a></dt>
<dd>
<div class="block">The base class of ISO 19115 implementation classes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#%3Cinit%3E()">ISOMetadata()</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">Constructs an initially empty metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#%3Cinit%3E(java.lang.Object)">ISOMetadata(Object)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">Constructs a new metadata initialized with the values from the specified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#isOrientationParameterAvailable()">isOrientationParameterAvailable()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Returns an indication of whether or not orientation parameters are available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#isPositive(double)">isPositive(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given value is positive, <em>excluding</em> negative zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#isPositiveZero(double)">isPositiveZero(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given value is the positive zero (<code>+0.0</code>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Classes.html#isPossibleGetter(java.lang.reflect.Method)">isPossibleGetter(Method)</a></span> - Static method in class <a href="org/apache/sis/util/Classes.html" title="class in org.apache.sis.util">Classes</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given method may possibly be the getter method for a property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#isPressure(javax.measure.Unit)">isPressure(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given unit is a pressure unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#isQuantitative()">isQuantitative()</a></span> - Method in class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this category is quantitative.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#isRadiometricCalibrationDataAvailable()">isRadiometricCalibrationDataAvailable()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Returns the indication of whether or not the radiometric calibration information for
 generating the radiometrically calibrated standard data product is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isRange(int,int%5B%5D)">isRange(int, int[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given array is a finite arithmetic progression starting at the given value
 and having a common difference of 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#isRecoverableFailure(org.opengis.util.FactoryException)">isRecoverableFailure(FactoryException)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified exception should be handled as a recoverable failure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#isResolved()">isResolved()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the associated <code>FeatureType</code> is complete (not just a name).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#isSameSign(double,double)">isSameSign(double, double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given values have the same sign, differentiating positive
 and negative zeros.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#isScale(javax.measure.Unit)">isScale(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given unit is a dimensionless scale unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#isSimple()">isSimple()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this feature type contains only attributes with [1 … 1] multiplicity,
 or operations (no feature association).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#isSimplified()">isSimplified()</a></span> - Method in enum <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this convention is one of the simplified variants of WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSinglePrecision(double...)">isSinglePrecision(double...)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if every values in the given <code>double</code> array could be casted to the
 <code>float</code> type without data lost.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#ISSN">ISSN</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The <cite>International Standard Serial Number</cite> (ISSN) defined by ISO-3297.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(byte%5B%5D,boolean)">isSorted(byte[], boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(char%5B%5D,boolean)">isSorted(char[], boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(double%5B%5D,boolean)">isSorted(double[], boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(float%5B%5D,boolean)">isSorted(float[], boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(int%5B%5D,boolean)">isSorted(int[], boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(long%5B%5D,boolean)">isSorted(long[], boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(short%5B%5D,boolean)">isSorted(short[], boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(E%5B%5D,boolean)">isSorted(E[], boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#isSorted(E%5B%5D,java.util.Comparator,boolean)">isSorted(E[], Comparator&lt;? super E&gt;, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all elements in the specified array are in increasing order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#isSphere()">isSphere()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block"><code>true</code> if the ellipsoid is degenerate and is actually a sphere.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#isSubScript(int)">isSubScript(int)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Determines whether the given character is a subscript.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#isSubsetOf(java.lang.Object)">isSubsetOf(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all localized texts stored in this international string are
 contained in the specified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#isSuperScript(int)">isSuperScript(int)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Determines whether the given character is a superscript.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#isSupported()">isSupported()</a></span> - Method in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the storage is supported by the <code>DataStoreProvider</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#isTabulationExpanded()">isTabulationExpanded()</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this formatter expands tabulations into spaces.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#isTemporal(javax.measure.Unit)">isTemporal(Unit&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given unit is a temporal unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#isTransformationParameterAvailable()">isTransformationParameterAvailable()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Returns indication of whether or not parameters for transformation exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#isTranslation()">isTranslation()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Returns <code>true</code> if a transformation built from this set of parameters would perform only a translation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#isTranslation()">isTranslation()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Returns <code>true</code> if a transformation built from this set of parameters would perform only a translation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#isTranslation(org.opengis.referencing.operation.Matrix)">isTranslation(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given matrix represents a translation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#isUnicodeIdentifier(java.lang.CharSequence)">isUnicodeIdentifier(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given identifier is a legal Unicode identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#isUnsigned()">isUnsigned()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns <code>true</code> if integer values shall be interpreted as unsigned values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#isUpperCase(java.lang.CharSequence)">isUpperCase(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given text is non-null, contains at least one upper-case character and
 no lower-case character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#isValidWKT(int)">isValidWKT(int)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given code point is a valid character for <cite>Well Known Text</cite> (WKT).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#isWritable()">isWritable()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this iterator can write pixel values (after cast to <code>WritablePixelIterator</code>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#isWritable()">isWritable()</a></span> - Method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this iterator can write pixel values.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">IterationStrategy</span></a> - Enum in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Strategy for iterating over the point arrays given to
 <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)"><code>AbstractMathTransform.transform(…)</code></a> methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#iterator()">iterator()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Returns an iterator over the objects in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#iterator()">iterator()</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Returns an iterator over the elements in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#iterator()">iterator()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns an iterator over the elements in this set in frequency order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#iterator()">iterator()</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns an iterator over the elements in this list in increasing index order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#iterator()">iterator()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns an iterator over the elements in this set of ranges.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#iterator()">iterator()</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Returns an iterator over the elements contained in this collection.</div>
</dd>
</dl>
<a id="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><a href="org/apache/sis/profile/japan/JapaneseProfile.html" title="class in org.apache.sis.profile.japan"><span class="typeNameLink">JapaneseProfile</span></a> - Class in <a href="org/apache/sis/profile/japan/package-summary.html">org.apache.sis.profile.japan</a></dt>
<dd>
<div class="block">Provides implementations of Japanese extensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#JAVA">JAVA</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Time measured as milliseconds since January 1st, 1970 at 00:00 UTC.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/GeometryLibrary.html#JAVA2D">JAVA2D</a></span> - <a href="org/apache/sis/setup/GeometryLibrary.html" title="enum in org.apache.sis.setup">GeometryLibrary</a></dt>
<dd>
<div class="block">The Java 2D Graphics and Imaging library.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/KeyNamePolicy.html#JAVABEANS_PROPERTY">JAVABEANS_PROPERTY</a></span> - <a href="org/apache/sis/metadata/KeyNamePolicy.html" title="enum in org.apache.sis.metadata">KeyNamePolicy</a></dt>
<dd>
<div class="block">The keys in the map are the Javabeans property names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#JOULE">JOULE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for energy (J).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/GeometryLibrary.html#JTS">JTS</a></span> - <a href="org/apache/sis/setup/GeometryLibrary.html" title="enum in org.apache.sis.setup">GeometryLibrary</a></dt>
<dd>
<div class="block">The Java Topology Suite (JTS) library.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#JULIAN">JULIAN</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Time measured as days since January 1st, 4713 BC at 12:00 UTC in proleptic Julian calendar.</div>
</dd>
</dl>
<a id="I:K">
<!--   -->
</a>
<h2 class="title">K</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#KELVIN">KELVIN</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI base unit for thermodynamic temperature (K).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/ResourceInternationalString.html#key">key</a></span> - Variable in class <a href="org/apache/sis/util/iso/ResourceInternationalString.html" title="class in org.apache.sis.util.iso">ResourceInternationalString</a></dt>
<dd>
<div class="block">The key for the resource to fetch.</div>
</dd>
<dt><a href="org/apache/sis/metadata/KeyNamePolicy.html" title="enum in org.apache.sis.metadata"><span class="typeNameLink">KeyNamePolicy</span></a> - Enum in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">The name of the keys included in a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a> of metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#keySet()">keySet()</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns the set of keys in this cache.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/KeywordCase.html" title="enum in org.apache.sis.io.wkt"><span class="typeNameLink">KeywordCase</span></a> - Enum in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Whether WKT keywords shall be written with lower, upper or camel case styles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#KEYWORDS">KEYWORDS</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for a comma separated list of key words and phrases
 (<em>Highly Recommended</em>).</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/KeywordStyle.html" title="enum in org.apache.sis.io.wkt"><span class="typeNameLink">KeywordStyle</span></a> - Enum in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Whether to use short or long WKT keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#KILOGRAM">KILOGRAM</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI base unit for mass (kg).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#KILOMETRE">KILOMETRE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 1000 metres (1 km).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#KILOMETRES_PER_HOUR">KILOMETRES_PER_HOUR</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 1/3.6 metres per second (1 km/h).</div>
</dd>
</dl>
<a id="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#label(javax.measure.Unit,java.lang.String)">label(Unit&lt;?&gt;, String)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Attaches a label to the specified unit.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">LambertConicConformal</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Lambert Conic Conformal</cite> projection (EPSG codes 9801, 9802, 9803, 9826, 1051).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">LambertConicConformal(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html" title="class in org.apache.sis.referencing.operation.projection">LambertConicConformal</a></dt>
<dd>
<div class="block">Creates a Lambert projection from the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#LAN">LAN</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/lan/1.0"</code> URL.</div>
</dd>
<dt><a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation"><span class="typeNameLink">LandsatStore</span></a> - Class in <a href="org/apache/sis/storage/earthobservation/package-summary.html">org.apache.sis.storage.earthobservation</a></dt>
<dd>
<div class="block">Parses Landsat metadata as <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">ISO 19115 Metadata</a> object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStore.html#%3Cinit%3E(org.apache.sis.storage.earthobservation.LandsatStoreProvider,org.apache.sis.storage.StorageConnector)">LandsatStore(LandsatStoreProvider, StorageConnector)</a></span> - Constructor for class <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation">LandsatStore</a></dt>
<dd>
<div class="block">Creates a new Landsat store from the given file, URL, stream or character reader.</div>
</dd>
<dt><a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html" title="class in org.apache.sis.storage.earthobservation"><span class="typeNameLink">LandsatStoreProvider</span></a> - Class in <a href="org/apache/sis/storage/earthobservation/package-summary.html">org.apache.sis.storage.earthobservation</a></dt>
<dd>
<div class="block">The provider of <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation"><code>LandsatStore</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html#%3Cinit%3E()">LandsatStoreProvider()</a></span> - Constructor for class <a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html" title="class in org.apache.sis.storage.earthobservation">LandsatStoreProvider</a></dt>
<dd>
<div class="block">Creates a new provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#last()">last()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns the last element in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#last()">last()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns the last (highest) range currently in this sorted set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#lastIndexOf(java.lang.CharSequence,int,int,int)">lastIndexOf(CharSequence, int, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the index within the given character sequence of the last occurrence of the
 specified character, searching backward in the given index range.</div>
</dd>
<dt><a href="org/apache/sis/measure/Latitude.html" title="class in org.apache.sis.measure"><span class="typeNameLink">Latitude</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">A latitude angle in decimal degrees.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Latitude.html#%3Cinit%3E(double)">Latitude(double)</a></span> - Constructor for class <a href="org/apache/sis/measure/Latitude.html" title="class in org.apache.sis.measure">Latitude</a></dt>
<dd>
<div class="block">Construct a new latitude with the specified angular value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Latitude.html#%3Cinit%3E(java.lang.String)">Latitude(String)</a></span> - Constructor for class <a href="org/apache/sis/measure/Latitude.html" title="class in org.apache.sis.measure">Latitude</a></dt>
<dd>
<div class="block">Constructs a newly allocated <code>Latitude</code> object that contain the angular value
 represented by the string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Latitude.html#%3Cinit%3E(org.opengis.geometry.DirectPosition)">Latitude(DirectPosition)</a></span> - Constructor for class <a href="org/apache/sis/measure/Latitude.html" title="class in org.apache.sis.measure">Latitude</a></dt>
<dd>
<div class="block">Constructs a newly allocated object containing the latitude value of the given position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#LATITUDE">LATITUDE</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the minimal and maximal latitudes of the bounding box,
 resolution and units.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#LATITUDE_OF_CONFORMAL_SPHERE_RADIUS">LATITUDE_OF_CONFORMAL_SPHERE_RADIUS</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the parameter for the latitude where to compute the <cite>radius of conformal sphere</cite>
 (symbol: <var>R</var><sub>c</sub>).</div>
</dd>
<dt><a href="org/apache/sis/distance/LatLonPointRadius.html" title="class in org.apache.sis.distance"><span class="typeNameLink">LatLonPointRadius</span></a> - Class in <a href="org/apache/sis/distance/package-summary.html">org.apache.sis.distance</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/referencing/GeodeticCalculator.html#createGeodesicCircle2D(double)"><code>GeodeticCalculator.createGeodesicCircle2D(double)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/distance/LatLonPointRadius.html#%3Cinit%3E(org.opengis.geometry.DirectPosition,double)">LatLonPointRadius(DirectPosition, double)</a></span> - Constructor for class <a href="org/apache/sis/distance/LatLonPointRadius.html" title="class in org.apache.sis.distance">LatLonPointRadius</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a representation of point-radius search region.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html" title="class in org.apache.sis.metadata.iso.maintenance"><span class="typeNameLink">LegacyFeatureType</span></a> - Class in <a href="org/apache/sis/metadata/iso/maintenance/package-summary.html">org.apache.sis.metadata.iso.maintenance</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">To be removed after migration to GeoAPI 4.0.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html#%3Cinit%3E(java.lang.CharSequence)">LegacyFeatureType(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html" title="class in org.apache.sis.metadata.iso.maintenance">LegacyFeatureType</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new type for the given value, which must be non-null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html#length()">length()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html" title="class in org.apache.sis.metadata.iso.maintenance">LegacyFeatureType</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Delegates to the value given at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractInternationalString.html#length()">length()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso">AbstractInternationalString</a></dt>
<dd>
<div class="block">Returns the length of the string in the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true#getDefault()" title="class or interface in java.util" class="externalLink">default locale</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#length()">length()</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns the length of the version string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#length(java.lang.CharSequence)">length(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true#length()" title="class or interface in java.lang" class="externalLink">length</a> of the given characters sequence,
 or 0 if <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#LENIENT_UNMARSHAL">LENIENT_UNMARSHAL</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Specifies whether the unmarshalling process should accept any metadata or GML supported version
 if the user did not specified an explicit version.</div>
</dd>
<dt><a href="org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util"><span class="typeNameLink">LenientComparable</span></a> - Interface in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Interfaces of classes for which instances can be compared for equality using different levels of strictness.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.Filter.html#LETTERS_AND_DIGITS">LETTERS_AND_DIGITS</a></span> - Static variable in class <a href="org/apache/sis/util/Characters.Filter.html" title="class in org.apache.sis.util">Characters.Filter</a></dt>
<dd>
<div class="block">The subset of all characters for which <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true#isLetterOrDigit(int)" title="class or interface in java.lang" class="externalLink"><code>Character.isLetterOrDigit(int)</code></a>
 returns <code>true</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#LIBRARIES">LIBRARIES</a></span> - <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Information about the libraries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Workaround.html#library()">library()</a></span> - Method in annotation type <a href="org/apache/sis/util/Workaround.html" title="annotation in org.apache.sis.util">Workaround</a></dt>
<dd>
<div class="block">A string identifying the library having a bug or limitation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#LICENSE">LICENSE</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "license" attribute name for a description of the restrictions to data access
 and distribution (<em>Recommended</em>).</div>
</dd>
<dt><a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math"><span class="typeNameLink">Line</span></a> - Class in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">Equation of a line in a two dimensional space (<var>x</var>,<var>y</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#%3Cinit%3E()">Line()</a></span> - Constructor for class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Constructs an uninitialized line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#%3Cinit%3E(double,double)">Line(double, double)</a></span> - Constructor for class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Constructs a line with the specified slope and offset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#LINE_SEPARATOR">LINE_SEPARATOR</a></span> - Static variable in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">The Unicode line separator (Unicode <code>2028</code>, HTML <code>&lt;br&gt;</code>).</div>
</dd>
<dt><a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io"><span class="typeNameLink">LineAppender</span></a> - Class in <a href="org/apache/sis/io/package-summary.html">org.apache.sis.io</a></dt>
<dd>
<div class="block">An <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Appendable</code></a> which can apply different kinds of reformatting that depend on the
 <cite>End Of Line</cite> (EOL) occurrences.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#%3Cinit%3E(java.lang.Appendable)">LineAppender(Appendable)</a></span> - Constructor for class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Constructs a default formatter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#%3Cinit%3E(java.lang.Appendable,int,boolean)">LineAppender(Appendable, int, boolean)</a></span> - Constructor for class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Constructs a formatter which will wrap the lines at a given maximal length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#%3Cinit%3E(java.lang.Appendable,java.lang.String,boolean)">LineAppender(Appendable, String, boolean)</a></span> - Constructor for class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Constructs a formatter which will replaces line separators by the given string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#linear(double,double)">linear(double, double)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Creates a one-dimensional affine transform for the given coefficients.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#linear(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.DirectPosition)">linear(MathTransform, DirectPosition)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Returns a linear (usually affine) transform which approximates the given transform in the vicinity of the given position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#linear(org.opengis.referencing.operation.Matrix)">linear(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Creates an arbitrary linear transform from the specified matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#linearizer()">linearizer()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">If target coordinates have been projected to another space, returns that projection.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">LinearTransform</span></a> - Interface in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">A usually affine, or otherwise a projective transform, which convert coordinates using only linear equations.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder"><span class="typeNameLink">LinearTransformBuilder</span></a> - Class in <a href="org/apache/sis/referencing/operation/builder/package-summary.html">org.apache.sis.referencing.operation.builder</a></dt>
<dd>
<div class="block">Creates an affine transform which will map approximately the given source positions to the given target positions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#%3Cinit%3E()">LinearTransformBuilder()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Creates a new linear transform builder for randomly distributed positions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#%3Cinit%3E(int...)">LinearTransformBuilder(int...)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Creates a new linear transform builder for source positions distributed on a regular grid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#lineSeparator">lineSeparator</a></span> - Variable in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">The line separator to use for formatting the tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureOperations.html#link(java.util.Map,org.apache.sis.feature.AbstractIdentifiedType)">link(Map&lt;String, ?&gt;, AbstractIdentifiedType)</a></span> - Static method in class <a href="org/apache/sis/feature/FeatureOperations.html" title="class in org.apache.sis.feature">FeatureOperations</a></dt>
<dd>
<div class="block">Creates an operation which is only an alias for another property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#listeners">listeners</a></span> - Variable in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">The set of registered <a href="org/apache/sis/storage/event/StoreListener.html" title="interface in org.apache.sis.storage.event"><code>StoreListener</code></a>s for this data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#LITRE">LITRE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The unit for litre volume (L, l or ℓ).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#LOCALE">LOCALE</a></span> - Static variable in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">The locale to use for locale-sensitive data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#LOCALE">LOCALE</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Specifies the locale to use for marshalling
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>InternationalString</code></a> and <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/CodeList.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>CodeList</code></a>
 instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#LOCALE_KEY">LOCALE_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></dt>
<dd>
<div class="block">Optional key which can be given to the <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#%3Cinit%3E(java.util.Map)">constructor</a> for specifying
 the locale to use for producing error messages.</div>
</dd>
<dt><a href="org/apache/sis/util/Locales.html" title="class in org.apache.sis.util"><span class="typeNameLink">Locales</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods working on <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"><code>Locale</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#LOCALIZATION">LOCALIZATION</a></span> - <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Information about default locale, timezone and character encoding.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder"><span class="typeNameLink">LocalizationGridBuilder</span></a> - Class in <a href="org/apache/sis/referencing/operation/builder/package-summary.html">org.apache.sis.referencing.operation.builder</a></dt>
<dd>
<div class="block">Creates an "almost linear" transform mapping the given source points to the given target points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#%3Cinit%3E(int,int)">LocalizationGridBuilder(int, int)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Creates a new, initially empty, builder for a localization grid of the given size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#%3Cinit%3E(org.apache.sis.math.Vector,org.apache.sis.math.Vector)">LocalizationGridBuilder(Vector, Vector)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Creates a new, initially empty, builder for a localization grid of a size inferred from the given points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#%3Cinit%3E(org.apache.sis.referencing.operation.builder.LinearTransformBuilder)">LocalizationGridBuilder(LinearTransformBuilder)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Creates a new builder for a localization grid inferred from the given provider of control points.</div>
</dd>
<dt><a href="org/apache/sis/util/Localized.html" title="interface in org.apache.sis.util"><span class="typeNameLink">Localized</span></a> - Interface in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Interface of classes for which each instance is configured for a particular locale.</div>
</dd>
<dt><a href="org/apache/sis/util/LocalizedException.html" title="interface in org.apache.sis.util"><span class="typeNameLink">LocalizedException</span></a> - Interface in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">An exception which can produce an error message in the client locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#locate(org.opengis.util.MemberName)">locate(MemberName)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Returns the value for an attribute of the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordType.html#locate(org.opengis.util.MemberName)">locate(MemberName)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordType.html" title="class in org.apache.sis.util.iso">DefaultRecordType</a></dt>
<dd>
<div class="block">Returns the type associated to the given attribute name, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordSchema.html#locate(org.opengis.util.TypeName)">locate(TypeName)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordSchema.html" title="class in org.apache.sis.util.iso">DefaultRecordSchema</a></dt>
<dd>
<div class="block">Returns the record type for the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#LOCATION">LOCATION</a></span> - Static variable in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Name of the parameter that specifies the data store location.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/LocationFormat.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">LocationFormat</span></a> - Class in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Formats <code>Location</code> instances in a tabular format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/LocationFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">LocationFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/LocationFormat.html" title="class in org.apache.sis.referencing.gazetteer">LocationFormat</a></dt>
<dd>
<div class="block">Creates a new format for the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#LOCATOR">LOCATOR</a></span> - <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">A pointer to an external resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#lock(K)">lock(K)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Gets a lock for the entry at the given key and returns a handler to be used by the caller
 for unlocking and storing the result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#log(java.lang.Class,java.lang.String,java.util.logging.LogRecord)">log(Class&lt;?&gt;, String, LogRecord)</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Logs the given record to the logger associated to the given class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#log(java.util.logging.Level,java.lang.String)">log(Level, String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#log(java.util.logging.Level,java.lang.String,java.lang.Object)">log(Level, String, Object)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#log(java.util.logging.Level,java.lang.String,java.lang.Object%5B%5D)">log(Level, String, Object[])</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#log(java.util.logging.Level,java.lang.String,java.lang.Throwable)">log(Level, String, Throwable)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#log(java.util.logging.LogRecord)">log(LogRecord)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#LOG10_2">LOG10_2</a></span> - Static variable in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">The logarithm of 2 in base 10, which is approximated by 0.3010299956639812.</div>
</dd>
<dt><a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging"><span class="typeNameLink">LoggerAdapter</span></a> - Class in <a href="org/apache/sis/util/logging/package-summary.html">org.apache.sis.util.logging</a></dt>
<dd>
<div class="block">An adapter that redirect all JDK logging events to an other logging framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#%3Cinit%3E(java.lang.String)">LoggerAdapter(String)</a></span> - Constructor for class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Creates a new logger.</div>
</dd>
<dt><a href="org/apache/sis/util/logging/LoggerFactory.html" title="class in org.apache.sis.util.logging"><span class="typeNameLink">LoggerFactory</span></a>&lt;<a href="org/apache/sis/util/logging/LoggerFactory.html" title="type parameter in LoggerFactory">L</a>&gt; - Class in <a href="org/apache/sis/util/logging/package-summary.html">org.apache.sis.util.logging</a></dt>
<dd>
<div class="block">A factory for Java <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging" class="externalLink"><code>Logger</code></a> wrapping an other logging framework.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerFactory.html#%3Cinit%3E(java.lang.Class)">LoggerFactory(Class&lt;L&gt;)</a></span> - Constructor for class <a href="org/apache/sis/util/logging/LoggerFactory.html" title="class in org.apache.sis.util.logging">LoggerFactory</a></dt>
<dd>
<div class="block">Creates a new factory.</div>
</dd>
<dt><a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging"><span class="typeNameLink">Logging</span></a> - Class in <a href="org/apache/sis/util/logging/package-summary.html">org.apache.sis.util.logging</a></dt>
<dd>
<div class="block">A set of utilities method for configuring loggings in SIS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#LOGGING">LOGGING</a></span> - <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Information about logging.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String)">logp(Level, String, String, String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.Object)">logp(Level, String, String, String, Object)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.Object%5B%5D)">logp(Level, String, String, String, Object[])</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable)">logp(Level, String, String, String, Throwable)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logrb(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">logrb(Level, String, String, String, String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">JDK 8 has deprecated this method.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logrb(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Object)">logrb(Level, String, String, String, String, Object)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">JDK 8 has deprecated this method.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logrb(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Object%5B%5D)">logrb(Level, String, String, String, String, Object[])</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">JDK 8 has deprecated this method.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logrb(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable)">logrb(Level, String, String, String, String, Throwable)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">JDK 8 has deprecated this method.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logrb(java.util.logging.Level,java.lang.String,java.lang.String,java.util.ResourceBundle,java.lang.String,java.lang.Object...)">logrb(Level, String, String, ResourceBundle, String, Object...)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a localizable record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#logrb(java.util.logging.Level,java.lang.String,java.lang.String,java.util.ResourceBundle,java.lang.String,java.lang.Throwable)">logrb(Level, String, String, ResourceBundle, String, Throwable)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a localizable record at the specified level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordStyle.html#LONG">LONG</a></span> - <a href="org/apache/sis/io/wkt/KeywordStyle.html" title="enum in org.apache.sis.io.wkt">KeywordStyle</a></dt>
<dd>
<div class="block">Long keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#LONG">LONG</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 6 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><a href="org/apache/sis/measure/Longitude.html" title="class in org.apache.sis.measure"><span class="typeNameLink">Longitude</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">A longitude angle in decimal degrees.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Longitude.html#%3Cinit%3E(double)">Longitude(double)</a></span> - Constructor for class <a href="org/apache/sis/measure/Longitude.html" title="class in org.apache.sis.measure">Longitude</a></dt>
<dd>
<div class="block">Construct a new longitude with the specified angular value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Longitude.html#%3Cinit%3E(java.lang.String)">Longitude(String)</a></span> - Constructor for class <a href="org/apache/sis/measure/Longitude.html" title="class in org.apache.sis.measure">Longitude</a></dt>
<dd>
<div class="block">Constructs a newly allocated <code>Longitude</code> object that contain the angular value
 represented by the string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Longitude.html#%3Cinit%3E(org.opengis.geometry.DirectPosition)">Longitude(DirectPosition)</a></span> - Constructor for class <a href="org/apache/sis/measure/Longitude.html" title="class in org.apache.sis.measure">Longitude</a></dt>
<dd>
<div class="block">Constructs a newly allocated object containing the longitude value of the given position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#LONGITUDE">LONGITUDE</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the minimal and maximal longitudes of the bounding box,
 resolution and units.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#longValue()">longValue()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns this fraction rounded toward zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#longValue()">longValue()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns 1 if the <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#getDenominator()">denominator</a> is equals to 1, or 0 otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#longValue(int)">longValue(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the value at the given index as a <code>long</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#lookup(java.lang.Class,java.lang.String)">lookup(Class&lt;T&gt;, String)</a></span> - Method in class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="block">Returns an implementation of the specified metadata interface filled with the data referenced
 by the specified identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#lookupEPSG(org.opengis.referencing.IdentifiedObject)">lookupEPSG(IdentifiedObject)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Looks up an EPSG code, such as <code>4326</code>, of the specified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#lookupURN(org.opengis.referencing.IdentifiedObject,org.opengis.metadata.citation.Citation)">lookupURN(IdentifiedObject, Citation)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Looks up a URN, such as <code>"urn:ogc:def:crs:EPSG:9.1:4326"</code>, of the specified object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordCase.html#LOWER_CASE">LOWER_CASE</a></span> - <a href="org/apache/sis/io/wkt/KeywordCase.html" title="enum in org.apache.sis.io.wkt">KeywordCase</a></dt>
<dd>
<div class="block">WKT formatting uses lower case keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#LUMEN">LUMEN</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for luminous flux (lm).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#LUX">LUX</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for illuminance (lx).</div>
</dd>
</dl>
<a id="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#m00">m00</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">The only element in this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#m00">m00</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">The first matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m00">m00</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The first matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m00">m00</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The first matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#m01">m01</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">The second matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m01">m01</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The second matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m01">m01</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The second matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m02">m02</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The third matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m02">m02</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The third matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m03">m03</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The forth matrix element in the first row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#m10">m10</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">The first matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m10">m10</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The first matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m10">m10</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The first matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#m11">m11</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">The second matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m11">m11</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The second matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m11">m11</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The second matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m12">m12</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The third matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m12">m12</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The third matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m13">m13</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The forth matrix element in the second row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m20">m20</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The first matrix element in the third row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m20">m20</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The first matrix element in the third row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m21">m21</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The second matrix element in the third row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m21">m21</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The second matrix element in the third row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#m22">m22</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The third matrix element in the third row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m22">m22</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The third matrix element in the third row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m23">m23</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The forth matrix element in the third row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m30">m30</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The first matrix element in the forth row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m31">m31</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The second matrix element in the forth row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m32">m32</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The third matrix element in the forth row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#m33">m33</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The forth matrix element in the forth row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MAC">MAC</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mac/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#magnitude(double...)">magnitude(double...)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the magnitude of the given vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#main(java.lang.String%5B%5D)">main(String[])</a></span> - Static method in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">Prints the information to the standard output stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#majorVersion()">majorVersion()</a></span> - Method in enum <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">Returns the major version of the Well Known Text represented by this convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#MAP_INFO">MAP_INFO</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The authority for identifiers of objects defined by MapInfo.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#margin(int...)">margin(int...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Specifies an amount of cells by which to expand <code>GridExtent</code> after rounding.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#marshal(java.lang.Object)">marshal(Object)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Marshal the given object into a string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#marshal(java.lang.Object,java.io.File)">marshal(Object, File)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Marshal the given object into a file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#marshal(java.lang.Object,java.io.OutputStream)">marshal(Object, OutputStream)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Marshal the given object into a stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#marshal(java.lang.Object,java.nio.file.Path)">marshal(Object, Path)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Marshal the given object into a path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#marshal(java.lang.Object,javax.xml.transform.Result,java.util.Map)">marshal(Object, Result, Map&lt;String, ?&gt;)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Marshal the given object to a stream, DOM or other destinations.</div>
</dd>
<dt><a href="org/apache/sis/xml/MarshalContext.html" title="class in org.apache.sis.xml"><span class="typeNameLink">MarshalContext</span></a> - Class in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Context of a marshalling or unmarshalling process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshalContext.html#%3Cinit%3E()">MarshalContext()</a></span> - Constructor for class <a href="org/apache/sis/xml/MarshalContext.html" title="class in org.apache.sis.xml">MarshalContext</a></dt>
<dd>
<div class="block">Creates a new (un)marshalling context.</div>
</dd>
<dt><a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml"><span class="typeNameLink">MarshallerPool</span></a> - Class in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Creates and configures <a href="https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/Marshaller.html?is-external=true" title="class or interface in javax.xml.bind" class="externalLink"><code>Marshaller</code></a> or <a href="https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/Unmarshaller.html?is-external=true" title="class or interface in javax.xml.bind" class="externalLink"><code>Unmarshaller</code></a> objects for use with SIS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#%3Cinit%3E(java.util.Map)">MarshallerPool(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">Creates a new factory using the SIS default <code>JAXBContext</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#%3Cinit%3E(javax.xml.bind.JAXBContext,java.util.Map)">MarshallerPool(JAXBContext, Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">Creates a new factory using the given JAXB context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MAS">MAS</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mas/1.0"</code> URL.</div>
</dd>
<dt><a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math"><span class="typeNameLink">MathFunctions</span></a> - Class in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">Simple mathematical functions in addition to the ones provided in <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Math</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/MathTransformProvider.html" title="interface in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">MathTransformProvider</span></a> - Interface in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">An object capable to create <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>MathTransform</code></a> instances from given parameter values.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">MathTransforms</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Utility methods creating or working on <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>MathTransform</code></a> instances.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">Matrices</span></a> - Class in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block"><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Matrix</code></a> factory methods and utilities.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">Matrix1</span></a> - Class in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block">A matrix of fixed <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#SIZE">1</a>×<a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#SIZE">1</a> size,
 typically resulting from <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"><code>MathTransform1D</code></a> derivative computation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#%3Cinit%3E()">Matrix1()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Creates a new identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#%3Cinit%3E(double)">Matrix1(double)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Creates a new matrix initialized to the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#%3Cinit%3E(double%5B%5D)">Matrix1(double[])</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Creates a new matrix initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">Matrix2</span></a> - Class in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block">A matrix of fixed <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#SIZE">2</a>×<a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#SIZE">2</a> size,
 typically resulting from <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>MathTransform2D</code></a> derivative computation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#%3Cinit%3E()">Matrix2()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Creates a new identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#%3Cinit%3E(double%5B%5D)">Matrix2(double[])</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Creates a new matrix initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#%3Cinit%3E(double,double,double,double)">Matrix2(double, double, double, double)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Creates a new matrix initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">Matrix3</span></a> - Class in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block">A matrix of fixed <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#SIZE">3</a>×<a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#SIZE">3</a> size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#%3Cinit%3E()">Matrix3()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Creates a new identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#%3Cinit%3E(double%5B%5D)">Matrix3(double[])</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Creates a new matrix initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#%3Cinit%3E(double,double,double,double,double,double,double,double,double)">Matrix3(double, double, double, double, double, double, double, double, double)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Creates a new matrix initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">Matrix4</span></a> - Class in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block">A matrix of fixed <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#SIZE">4</a>×<a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#SIZE">4</a> size, often used in datum shifts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#%3Cinit%3E()">Matrix4()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Creates a new identity matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#%3Cinit%3E(double%5B%5D)">Matrix4(double[])</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Creates a new matrix initialized to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#%3Cinit%3E(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double)">Matrix4(double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Creates a new matrix initialized to the specified values.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">MatrixSIS</span></a> - Class in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block">A <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Matrix</code></a> able to perform some operations of interest to Spatial Information Systems (SIS).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#%3Cinit%3E()">MatrixSIS()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">For sub-class constructors.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#MAX_NAN_ORDINAL">MAX_NAN_ORDINAL</a></span> - Static variable in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">The maximal ordinal value for <code>NaN</code> numbers created by <a href="org/apache/sis/math/MathFunctions.html#toNanFloat(int)"><code>MathFunctions.toNanFloat(int)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Latitude.html#MAX_VALUE">MAX_VALUE</a></span> - Static variable in class <a href="org/apache/sis/measure/Latitude.html" title="class in org.apache.sis.measure">Latitude</a></dt>
<dd>
<div class="block">Maximum usual value for latitude (+90.0°).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Longitude.html#MAX_VALUE">MAX_VALUE</a></span> - Static variable in class <a href="org/apache/sis/measure/Longitude.html" title="class in org.apache.sis.measure">Longitude</a></dt>
<dd>
<div class="block">Maximum usual value for longitude (+180.0°).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.Field.html#MAX_VALUE">MAX_VALUE</a></span> - Static variable in class <a href="org/apache/sis/measure/RangeFormat.Field.html" title="class in org.apache.sis.measure">RangeFormat.Field</a></dt>
<dd>
<div class="block">Identifies the maximal value field in a range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#maximalValue()">maximalValue()</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns the maximal value that can be stored in this list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#maximum()">maximum()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the maximum sample value, or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>NaN</code></a> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/ValueRange.html#maximum()">maximum()</a></span> - Method in annotation type <a href="org/apache/sis/measure/ValueRange.html" title="annotation in org.apache.sis.measure">ValueRange</a></dt>
<dd>
<div class="block">Returns the maximal value that a method can return.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html#MAXIMUM">MAXIMUM</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Dimension</a></dt>
<dd>
<div class="block">The attribute name for the maximal value of the bounding box (<em>Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#MAXIMUM_VALUE_KEY">MAXIMUM_VALUE_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Key for the <code>"maximumValue"</code> property to be given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MCC">MCC</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mcc/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MCO">MCO</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mco/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MD1">MD1</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/md1/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MD2">MD2</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/md2/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MDA">MDA</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mda/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MDB">MDB</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mdb/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MDQ">MDQ</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19157/-2/mdq/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MDS">MDS</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mds/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MDT">MDT</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mdt/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#mean()">mean()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the mean value, or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>NaN</code></a> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#MEAN_SEA_LEVEL">MEAN_SEA_LEVEL</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Height measured above the Mean Sea Level (MSL) in metres.</div>
</dd>
<dt><a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure"><span class="typeNameLink">MeasurementRange</span></a>&lt;<a href="org/apache/sis/measure/MeasurementRange.html" title="type parameter in MeasurementRange">E</a> extends <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> &amp; <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super <a href="org/apache/sis/measure/MeasurementRange.html" title="type parameter in MeasurementRange">E</a>&gt;&gt; - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">A range of numbers associated with a unit of measurement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#%3Cinit%3E(java.lang.Class,E,boolean,E,boolean,javax.measure.Unit)">MeasurementRange(Class&lt;E&gt;, E, boolean, E, boolean, Unit&lt;?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Constructs a range of <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"><code>Number</code></a> objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#%3Cinit%3E(java.lang.Class,org.apache.sis.measure.ValueRange,javax.measure.Unit)">MeasurementRange(Class&lt;E&gt;, ValueRange, Unit&lt;?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Constructs a range of the given type with values from the given annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#%3Cinit%3E(org.apache.sis.measure.Range,javax.measure.Unit)">MeasurementRange(Range&lt;E&gt;, Unit&lt;?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Constructs a range with the same values than the specified range and the given unit.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/Mercator.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">Mercator</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Mercator Cylindrical</cite> projection (EPSG codes 9804, 9805, 1026, 1024, 1044, <span class="deprecated">9841</span>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Mercator.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">Mercator(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/Mercator.html" title="class in org.apache.sis.referencing.operation.projection">Mercator</a></dt>
<dd>
<div class="block">Creates a Mercator projection from the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#merge(K,V,java.util.function.BiFunction)">merge(K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Maps the given value to the given key if no mapping existed before this method call,
 or computes a new value otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Exceptions.html#messageEquals(java.lang.Throwable,java.lang.Throwable)">messageEquals(Throwable, Throwable)</a></span> - Static method in class <a href="org/apache/sis/util/Exceptions.html" title="class in org.apache.sis.util">Exceptions</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given exceptions are of the same class and contains the same message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#METADATA_CREATION">METADATA_CREATION</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "metadata_creation" attribute name for the date on which the metadata was created
 (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#METADATA_LINK">METADATA_LINK</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "metadata_link" attribute name for a URL that gives the location of more complete metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#METADATA_MODIFIED">METADATA_MODIFIED</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "date_metadata_modified" attribute name for the date on which the metadata has been modified
 (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#METADATA_VERSION">METADATA_VERSION</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Specifies the metadata version of the document to be marshalled or unmarshalled.</div>
</dd>
<dt><a href="org/apache/sis/metadata/MetadataCopier.html" title="class in org.apache.sis.metadata"><span class="typeNameLink">MetadataCopier</span></a> - Class in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Performs deep copies of given metadata instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataCopier.html#%3Cinit%3E(org.apache.sis.metadata.MetadataStandard)">MetadataCopier(MetadataStandard)</a></span> - Constructor for class <a href="org/apache/sis/metadata/MetadataCopier.html" title="class in org.apache.sis.metadata">MetadataCopier</a></dt>
<dd>
<div class="block">Creates a new metadata copier.</div>
</dd>
<dt><a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql"><span class="typeNameLink">MetadataSource</span></a> - Class in <a href="org/apache/sis/metadata/sql/package-summary.html">org.apache.sis.metadata.sql</a></dt>
<dd>
<div class="block">A connection to a metadata database in read-only mode.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#%3Cinit%3E(org.apache.sis.metadata.MetadataStandard,javax.sql.DataSource,java.lang.String,java.util.Map)">MetadataSource(MetadataStandard, DataSource, String, Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="block">Creates a new metadata source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#%3Cinit%3E(org.apache.sis.metadata.sql.MetadataSource)">MetadataSource(MetadataSource)</a></span> - Constructor for class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="block">Creates a new metadata source with the same configuration than the given source.</div>
</dd>
<dt><a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata"><span class="typeNameLink">MetadataStandard</span></a> - Class in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Enumeration of some metadata standards.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.Package,org.apache.sis.metadata.MetadataStandard...)">MetadataStandard(Citation, Package, MetadataStandard...)</a></span> - Constructor for class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Creates a new instance working on implementation of interfaces defined in the specified package.</div>
</dd>
<dt><a href="org/apache/sis/metadata/sql/MetadataStoreException.html" title="class in org.apache.sis.metadata.sql"><span class="typeNameLink">MetadataStoreException</span></a> - Exception in <a href="org/apache/sis/metadata/sql/package-summary.html">org.apache.sis.metadata.sql</a></dt>
<dd>
<div class="block">Thrown when a metadata access failed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataStoreException.html#%3Cinit%3E(java.lang.Exception)">MetadataStoreException(Exception)</a></span> - Constructor for exception <a href="org/apache/sis/metadata/sql/MetadataStoreException.html" title="class in org.apache.sis.metadata.sql">MetadataStoreException</a></dt>
<dd>
<div class="block">Creates an instance of <code>MetadataException</code> with the specified cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataStoreException.html#%3Cinit%3E(java.lang.String)">MetadataStoreException(String)</a></span> - Constructor for exception <a href="org/apache/sis/metadata/sql/MetadataStoreException.html" title="class in org.apache.sis.metadata.sql">MetadataStoreException</a></dt>
<dd>
<div class="block">Creates an instance of <code>MetadataException</code> with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataStoreException.html#%3Cinit%3E(java.lang.String,java.lang.Exception)">MetadataStoreException(String, Exception)</a></span> - Constructor for exception <a href="org/apache/sis/metadata/sql/MetadataStoreException.html" title="class in org.apache.sis.metadata.sql">MetadataStoreException</a></dt>
<dd>
<div class="block">Creates an instance of <code>MetadataException</code> with the specified message and cause.</div>
</dd>
<dt><a href="org/apache/sis/metadata/sql/MetadataWriter.html" title="class in org.apache.sis.metadata.sql"><span class="typeNameLink">MetadataWriter</span></a> - Class in <a href="org/apache/sis/metadata/sql/package-summary.html">org.apache.sis.metadata.sql</a></dt>
<dd>
<div class="block">A connection to a metadata database with write capabilities.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataWriter.html#%3Cinit%3E(org.apache.sis.metadata.MetadataStandard,javax.sql.DataSource,java.lang.String,java.util.Map)">MetadataWriter(MetadataStandard, DataSource, String, Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/metadata/sql/MetadataWriter.html" title="class in org.apache.sis.metadata.sql">MetadataWriter</a></dt>
<dd>
<div class="block">Creates a new metadata writer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#METHOD">METHOD</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">Operation methods</a>,
 often represented by <code>PROJECTION[…]</code> elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/KeyNamePolicy.html#METHOD_NAME">METHOD_NAME</a></span> - <a href="org/apache/sis/metadata/KeyNamePolicy.html" title="enum in org.apache.sis.metadata">KeyNamePolicy</a></dt>
<dd>
<div class="block">The keys in the map are the plain <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true#getName()" title="class or interface in java.lang.reflect" class="externalLink">method names</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#METRE">METRE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI base unit for distances (m).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#METRES_PER_SECOND">METRES_PER_SECOND</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for speed (m/s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MEX">MEX</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mex/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#MICRORADIAN">MICRORADIAN</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 10<sup>-6</sup> radians (1 µrad).</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">MilitaryGridReferenceSystem</span></a> - Class in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">The Military Grid Reference System (MGRS).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.html#%3Cinit%3E()">MilitaryGridReferenceSystem()</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem</a></dt>
<dd>
<div class="block">Creates a new Military Grid Reference System (MGRS) using the default datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.html#%3Cinit%3E(java.util.Map,org.apache.sis.referencing.CommonCRS)">MilitaryGridReferenceSystem(Map&lt;String, ?&gt;, CommonCRS)</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem</a></dt>
<dd>
<div class="block">Creates a new Military Grid Reference System (MGRS) using the specified datum.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">MilitaryGridReferenceSystem.Coder</span></a> - Class in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Conversions between direct positions and references in the Military Grid Reference System (MGRS).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#MILLIMETRE">MILLIMETRE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 0.001 metres (1 mm).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#MILLISECOND">MILLISECOND</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 10<sup>-3</sup> seconds (1 ms).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#MIN_NAN_ORDINAL">MIN_NAN_ORDINAL</a></span> - Static variable in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">The minimal ordinal value for <code>NaN</code> numbers created by <a href="org/apache/sis/math/MathFunctions.html#toNanFloat(int)"><code>MathFunctions.toNanFloat(int)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Latitude.html#MIN_VALUE">MIN_VALUE</a></span> - Static variable in class <a href="org/apache/sis/measure/Latitude.html" title="class in org.apache.sis.measure">Latitude</a></dt>
<dd>
<div class="block">Minimum usual value for latitude (-90.0°).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Longitude.html#MIN_VALUE">MIN_VALUE</a></span> - Static variable in class <a href="org/apache/sis/measure/Longitude.html" title="class in org.apache.sis.measure">Longitude</a></dt>
<dd>
<div class="block">Minimum usual value for longitude (-180.0°).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.Field.html#MIN_VALUE">MIN_VALUE</a></span> - Static variable in class <a href="org/apache/sis/measure/RangeFormat.Field.html" title="class in org.apache.sis.measure">RangeFormat.Field</a></dt>
<dd>
<div class="block">Identifies the minimal value field in a range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#minimum()">minimum()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the minimum sample value, or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>NaN</code></a> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/ValueRange.html#minimum()">minimum()</a></span> - Method in annotation type <a href="org/apache/sis/measure/ValueRange.html" title="annotation in org.apache.sis.measure">ValueRange</a></dt>
<dd>
<div class="block">Returns the minimal value that a method can return.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html#MINIMUM">MINIMUM</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Dimension</a></dt>
<dd>
<div class="block">The attribute name for the minimal value of the bounding box (<em>Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#MINIMUM_VALUE_KEY">MINIMUM_VALUE_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Key for the <code>"minimumValue"</code> property to be given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#MINUTE">MINUTE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 60 seconds (1 min).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.Field.html#MINUTES">MINUTES</a></span> - Static variable in class <a href="org/apache/sis/measure/AngleFormat.Field.html" title="class in org.apache.sis.measure">AngleFormat.Field</a></dt>
<dd>
<div class="block">Identifies the minutes field, including the minutes symbol (if any).</div>
</dd>
<dt><a href="org/apache/sis/coverage/MismatchedCoverageRangeException.html" title="class in org.apache.sis.coverage"><span class="typeNameLink">MismatchedCoverageRangeException</span></a> - Exception in <a href="org/apache/sis/coverage/package-summary.html">org.apache.sis.coverage</a></dt>
<dd>
<div class="block">Thrown when the number of bands or sample dimensions specified to a method
 is not equal to the number expected by a coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/MismatchedCoverageRangeException.html#%3Cinit%3E()">MismatchedCoverageRangeException()</a></span> - Constructor for exception <a href="org/apache/sis/coverage/MismatchedCoverageRangeException.html" title="class in org.apache.sis.coverage">MismatchedCoverageRangeException</a></dt>
<dd>
<div class="block">Creates an exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/MismatchedCoverageRangeException.html#%3Cinit%3E(java.lang.String)">MismatchedCoverageRangeException(String)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/MismatchedCoverageRangeException.html" title="class in org.apache.sis.coverage">MismatchedCoverageRangeException</a></dt>
<dd>
<div class="block">Creates an exception with the specified message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/MismatchedCoverageRangeException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">MismatchedCoverageRangeException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/MismatchedCoverageRangeException.html" title="class in org.apache.sis.coverage">MismatchedCoverageRangeException</a></dt>
<dd>
<div class="block">Creates an exception with the specified message and cause.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/MismatchedDatumException.html" title="class in org.apache.sis.referencing.operation"><span class="typeNameLink">MismatchedDatumException</span></a> - Exception in <a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a></dt>
<dd>
<div class="block">Thrown when the source and target CRS of a <a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation">conversion</a> use different datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/MismatchedDatumException.html#%3Cinit%3E()">MismatchedDatumException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/MismatchedDatumException.html" title="class in org.apache.sis.referencing.operation">MismatchedDatumException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/MismatchedDatumException.html#%3Cinit%3E(java.lang.String)">MismatchedDatumException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/MismatchedDatumException.html" title="class in org.apache.sis.referencing.operation">MismatchedDatumException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/MismatchedDatumException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">MismatchedDatumException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/MismatchedDatumException.html" title="class in org.apache.sis.referencing.operation">MismatchedDatumException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">MismatchedMatrixSizeException</span></a> - Exception in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block">Thrown when two matrices can not be added or multiplied because the sizes do not match.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MismatchedMatrixSizeException.html#%3Cinit%3E()">MismatchedMatrixSizeException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/matrix/MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MismatchedMatrixSizeException.html#%3Cinit%3E(java.lang.String)">MismatchedMatrixSizeException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/matrix/MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MismatchedMatrixSizeException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">MismatchedMatrixSizeException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/matrix/MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><a href="org/apache/sis/geometry/MismatchedReferenceSystemException.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">MismatchedReferenceSystemException</span></a> - Exception in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">Indicates that an object cannot be constructed because of a mismatch in the
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/ReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing" class="externalLink">reference systems</a> of
 geometric components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/MismatchedReferenceSystemException.html#%3Cinit%3E()">MismatchedReferenceSystemException()</a></span> - Constructor for exception <a href="org/apache/sis/geometry/MismatchedReferenceSystemException.html" title="class in org.apache.sis.geometry">MismatchedReferenceSystemException</a></dt>
<dd>
<div class="block">Creates an exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/MismatchedReferenceSystemException.html#%3Cinit%3E(java.lang.String)">MismatchedReferenceSystemException(String)</a></span> - Constructor for exception <a href="org/apache/sis/geometry/MismatchedReferenceSystemException.html" title="class in org.apache.sis.geometry">MismatchedReferenceSystemException</a></dt>
<dd>
<div class="block">Creates an exception with the specified message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/MismatchedReferenceSystemException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">MismatchedReferenceSystemException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/geometry/MismatchedReferenceSystemException.html" title="class in org.apache.sis.geometry">MismatchedReferenceSystemException</a></dt>
<dd>
<div class="block">Creates an exception with the specified message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#MISSING">MISSING</a></span> - Static variable in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">The correct value is not readily available to the sender of this data.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/MissingFactoryResourceException.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">MissingFactoryResourceException</span></a> - Exception in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Thrown when a particular object can not be created because a resource is missing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MissingFactoryResourceException.html#%3Cinit%3E()">MissingFactoryResourceException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/MissingFactoryResourceException.html" title="class in org.apache.sis.referencing.factory">MissingFactoryResourceException</a></dt>
<dd>
<div class="block">Construct an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MissingFactoryResourceException.html#%3Cinit%3E(java.lang.String)">MissingFactoryResourceException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/MissingFactoryResourceException.html" title="class in org.apache.sis.referencing.factory">MissingFactoryResourceException</a></dt>
<dd>
<div class="block">Construct an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MissingFactoryResourceException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">MissingFactoryResourceException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/MissingFactoryResourceException.html" title="class in org.apache.sis.referencing.factory">MissingFactoryResourceException</a></dt>
<dd>
<div class="block">Construct an exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MMI">MMI</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mmi/1.0"</code> URL.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">ModifiableLocationType</span></a> - Class in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Helper class for building the description of a location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#%3Cinit%3E(java.lang.CharSequence)">ModifiableLocationType(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Creates a new location type of the given name.</div>
</dd>
<dt><a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata"><span class="typeNameLink">ModifiableMetadata</span></a> - Class in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Base class of metadata having an editable content.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#%3Cinit%3E()">ModifiableMetadata()</a></span> - Constructor for class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Constructs an initially empty metadata.</div>
</dd>
<dt><a href="org/apache/sis/metadata/ModifiableMetadata.State.html" title="enum in org.apache.sis.metadata"><span class="typeNameLink">ModifiableMetadata.State</span></a> - Enum in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Whether the metadata is still editable or has been made final.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#MODIFIED_JULIAN">MODIFIED_JULIAN</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Time measured as days since November 17, 1858 at 00:00 UTC.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#MOLE">MOLE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI base unit for amount of substance (mol).</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/Mollweide.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">Mollweide</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Mollweide</cite> projection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Mollweide.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">Mollweide(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/Mollweide.html" title="class in org.apache.sis.referencing.operation.projection">Mollweide</a></dt>
<dd>
<div class="block">Creates a Mollweide projection from the given parameters.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">MolodenskyTransform</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Two- or three-dimensional datum shift using the (potentially abridged) Molodensky transformation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html#%3Cinit%3E(org.opengis.referencing.datum.Ellipsoid,boolean,org.opengis.referencing.datum.Ellipsoid,boolean,double,double,double,boolean)">MolodenskyTransform(Ellipsoid, boolean, Ellipsoid, boolean, double, double, double, boolean)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">MolodenskyTransform</a></dt>
<dd>
<div class="block">Creates a Molodensky transform from the specified parameters.</div>
</dd>
<dt><a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging"><span class="typeNameLink">MonolineFormatter</span></a> - Class in <a href="org/apache/sis/util/logging/package-summary.html">org.apache.sis.util.logging</a></dt>
<dd>
<div class="block">A formatter writing log messages on a single line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#%3Cinit%3E()">MonolineFormatter()</a></span> - Constructor for class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Constructs a default <code>MonolineFormatter</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#%3Cinit%3E(java.util.logging.Handler)">MonolineFormatter(Handler)</a></span> - Constructor for class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Constructs a <code>MonolineFormatter</code> configured for the given handler.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#moveTo(int,int)">moveTo(int, int)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Moves the pixel iterator to the given column (x) and row (y) indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#moveToEndPoint()">moveToEndPoint()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Sets the start point and starting azimuth to the current end point and ending azimuth values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MPC">MPC</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mpc/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MRC">MRC</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mrc/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MRD">MRD</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mrd/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MRI">MRI</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mri/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MRL">MRL</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mrl/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MRS">MRS</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/mrs/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#MSR">MSR</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/msr/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#mtFactory">mtFactory</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">The factory to use for creating <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>MathTransform</code></a> instances.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">MultiAuthoritiesFactory</span></a> - Class in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">A factory that delegates the object creation to another factory determined from the <var>authority</var> part
 in “<var>authority</var>:<var>code</var>” arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#%3Cinit%3E(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)">MultiAuthoritiesFactory(Iterable&lt;? extends CRSAuthorityFactory&gt;, Iterable&lt;? extends CSAuthorityFactory&gt;, Iterable&lt;? extends DatumAuthorityFactory&gt;, Iterable&lt;? extends CoordinateOperationAuthorityFactory&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a new multi-factories instance using the given lists of factories.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#multiply(double%5B%5D)">multiply(double[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns a new vector which is the result of multiplying this matrix with the specified vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#multiply(javax.measure.Unit,double,double)">multiply(Unit&lt;Q&gt;, double, double)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Multiplies the given unit by the given ratio.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#multiply(org.apache.sis.math.Fraction)">multiply(Fraction)</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns the simplified result of multiplying the given fraction with this fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#multiply(org.opengis.referencing.operation.Matrix)">multiply(Matrix)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns a new matrix which is the result of multiplying this matrix with the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#multiply(org.opengis.referencing.operation.Matrix,org.opengis.referencing.operation.Matrix)">multiply(Matrix, Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Returns a new matrix which is the result of multiplying the first matrix with the second one.</div>
</dd>
</dl>
<a id="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#NAD27">NAD27</a></span> - <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">North American Datum 1927.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#NAD83">NAD83</a></span> - <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">North American Datum 1983.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/ElevationAngle.html#NADIR">NADIR</a></span> - Static variable in class <a href="org/apache/sis/measure/ElevationAngle.html" title="class in org.apache.sis.measure">ElevationAngle</a></dt>
<dd>
<div class="block">An elevation angle of -90° for an imaginary point directly below a location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#name()">name()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the name of the phenomenon for which this object is collecting statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/TitleProperty.html#name()">name()</a></span> - Method in annotation type <a href="org/apache/sis/metadata/TitleProperty.html" title="annotation in org.apache.sis.metadata">TitleProperty</a></dt>
<dd>
<div class="block">Returns the name of the property to use as a title for a metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameSpace.html#name()">name()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">DefaultNameSpace</a></dt>
<dd>
<div class="block">Represents the identifier of this namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#NAME">NAME</a></span> - <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Name of the property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#NAME">NAME</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Object name, typically written immediately after the WKT keyword and its opening bracket.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.Style.html#NAME">NAME</a></span> - <a href="org/apache/sis/measure/UnitFormat.Style.html" title="enum in org.apache.sis.measure">UnitFormat.Style</a></dt>
<dd>
<div class="block">Format unit symbols as localized long names if known, or Unicode symbols otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#NAME">NAME</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Responsible</a></dt>
<dd>
<div class="block">The attribute name for the responsible's name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#NAME">NAME</a></span> - Static variable in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Frequently-used constant for a column of object names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractIdentifiedType.html#NAME_KEY">NAME_KEY</a></span> - Static variable in class <a href="org/apache/sis/feature/AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></dt>
<dd>
<div class="block">Key for the <code>"name"</code> property to be given to the constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html#NAME_SUMMARY">NAME_SUMMARY</a></span> - <a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html" title="enum in org.apache.sis.parameter">ParameterFormat.ContentLevel</a></dt>
<dd>
<div class="block">Limits the content to names and aliases in a tabular format.</div>
</dd>
<dt><a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing"><span class="typeNameLink">NamedIdentifier</span></a> - Class in <a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a></dt>
<dd>
<div class="block">An identification of a CRS object which is both a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/Identifier.html?is-external=true" title="class or interface in org.opengis.metadata" class="externalLink"><code>Identifier</code></a> and a <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"><code>GenericName</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#%3Cinit%3E(java.util.Map)">NamedIdentifier(Map&lt;String, ?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Constructs an identifier from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.CharSequence)">NamedIdentifier(Citation, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Constructs an identifier from an authority and code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String,java.lang.CharSequence,java.lang.String,org.opengis.util.InternationalString)">NamedIdentifier(Citation, String, CharSequence, String, InternationalString)</a></span> - Constructor for class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Constructs an identifier from an authority and localizable code,
 with an optional version number and description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#%3Cinit%3E(org.opengis.referencing.ReferenceIdentifier)">NamedIdentifier(ReferenceIdentifier)</a></span> - Constructor for class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Creates a new identifier from the specified one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#%3Cinit%3E(org.opengis.util.GenericName)">NamedIdentifier(GenericName)</a></span> - Constructor for class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Creates a new identifier from the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#nameFactory">nameFactory</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">The factory to use for creating <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"><code>GenericName</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordSchema.html#nameFactory">nameFactory</a></span> - Variable in class <a href="org/apache/sis/util/iso/DefaultRecordSchema.html" title="class in org.apache.sis.util.iso">DefaultRecordSchema</a></dt>
<dd>
<div class="block">The factory to use for creating names.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">Names</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">Static methods for creating, parsing and formatting <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">generic names</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/profile/france/FrenchProfile.html#NAMESPACE">NAMESPACE</a></span> - Static variable in class <a href="org/apache/sis/profile/france/FrenchProfile.html" title="class in org.apache.sis.profile.france">FrenchProfile</a></dt>
<dd>
<div class="block">The <code>"http://www.cnig.gouv.fr/2005/fra"</code> URL.</div>
</dd>
<dt><a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml"><span class="typeNameLink">Namespaces</span></a> - Class in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Lists some namespaces URLs used by JAXB when (un)marshalling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#nameToIndices(java.lang.String)">nameToIndices(String)</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns the indices of matrix element for the given parameter name, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#NAMING">NAMING</a></span> - Static variable in class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">Emphases on identification information
 (<a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getName()">name</a> and
  <a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getIdentifiers()">identifiers</a>) only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#NANOMETRE">NANOMETRE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 10<sup>-9</sup> metres (1 nm).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#narrowestClass(java.lang.Class,java.lang.Class)">narrowestClass(Class&lt;? extends Number&gt;, Class&lt;? extends Number&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns the narrowest of the given types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#narrowestClass(java.lang.Number)">narrowestClass(Number)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns the smallest class capable to hold the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#narrowestClass(java.lang.Number,java.lang.Number)">narrowestClass(Number, Number)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns the narrowest type of two numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#narrowestNumber(java.lang.Number)">narrowestNumber(Number)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns the given number wrapped in the smallest class capable to hold the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#narrowestNumber(java.lang.String)">narrowestNumber(String)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns the smallest number capable to hold the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#NAUTICAL_MILE">NAUTICAL_MILE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as exactly 1852 metres (1 M).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#NAVD88">NAVD88</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">North American Vertical Datum 1988 height.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridRoundingMode.html#NEAREST">NEAREST</a></span> - <a href="org/apache/sis/coverage/grid/GridRoundingMode.html" title="enum in org.apache.sis.coverage.grid">GridRoundingMode</a></dt>
<dd>
<div class="block">Converts grid low, high and size to nearest integer values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Shapes2D.html#nearestColinearPoint(java.awt.geom.Line2D,java.awt.geom.Point2D)">nearestColinearPoint(Line2D, Point2D)</a></span> - Static method in class <a href="org/apache/sis/geometry/Shapes2D.html" title="class in org.apache.sis.geometry">Shapes2D</a></dt>
<dd>
<div class="block">Returns the point on the given <code>line</code> segment which is closest to the given <code>point</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#negate()">negate()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns the negative value of this fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#NETCDF">NETCDF</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The authority for identifiers of objects defined by the
 <a href="http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/">NetCDF</a> specification.</div>
</dd>
<dt><a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf"><span class="typeNameLink">NetcdfStore</span></a> - Class in <a href="org/apache/sis/storage/netcdf/package-summary.html">org.apache.sis.storage.netcdf</a></dt>
<dd>
<div class="block">A data store backed by netCDF files.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#%3Cinit%3E(org.apache.sis.storage.netcdf.NetcdfStoreProvider,org.apache.sis.storage.StorageConnector)">NetcdfStore(NetcdfStoreProvider, StorageConnector)</a></span> - Constructor for class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Creates a new netCDF store from the given file, URL, stream or <a href="https://www.unidata.ucar.edu/software/netcdf-java/current/javadoc/ucar/nc2/NetcdfFile.html?is-external=true" title="class or interface in ucar.nc2" class="externalLink"><code>NetcdfFile</code></a> object.</div>
</dd>
<dt><a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html" title="class in org.apache.sis.storage.netcdf"><span class="typeNameLink">NetcdfStoreProvider</span></a> - Class in <a href="org/apache/sis/storage/netcdf/package-summary.html">org.apache.sis.storage.netcdf</a></dt>
<dd>
<div class="block">The provider of <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf"><code>NetcdfStore</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html#%3Cinit%3E()">NetcdfStoreProvider()</a></span> - Constructor for class <a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html" title="class in org.apache.sis.storage.netcdf">NetcdfStoreProvider</a></dt>
<dd>
<div class="block">Creates a new provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Show.html#NEW">NEW</a></span> - <a href="org/apache/sis/xml/XLink.Show.html" title="enum in org.apache.sis.xml">XLink.Show</a></dt>
<dd>
<div class="block">Load ending resource in a new window, frame, pane, or other presentation context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#newChild()">newChild()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Adds a new child in the <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#getChildren()">children list</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#newChild()">newChild()</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Creates a new child with the same columns than the other children, and adds it to
 the <a href="org/apache/sis/util/collection/TreeTable.Node.html#getChildren()">children collection</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#newDataAccess()">newDataAccess()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a factory which will perform the actual geodetic object creation work.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#newDataAccess()">newDataAccess()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">Creates the factory which will perform the actual geodetic object creation work.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html#newDataAccess(java.sql.Connection,org.apache.sis.referencing.factory.sql.SQLTranslator)">newDataAccess(Connection, SQLTranslator)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGFactory.html" title="class in org.apache.sis.referencing.factory.sql">EPSGFactory</a></dt>
<dd>
<div class="block">Creates the factory which will perform the actual geodetic object creation from a given connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#newFinder(java.lang.String)">newFinder(String)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Creates a finder which can be used for looking up unidentified objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#newIdentifiedObject(org.apache.sis.xml.MarshalContext,java.lang.Class,org.opengis.metadata.Identifier...)">newIdentifiedObject(MarshalContext, Class&lt;T&gt;, Identifier...)</a></span> - Method in class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">Returns an empty object of the given type having the given identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#newIdentifiedObjectFinder()">newIdentifiedObjectFinder()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a finder which can be used for looking up unidentified objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#newIdentifiedObjectFinder()">newIdentifiedObjectFinder()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Creates a finder which can be used for looking up unidentified objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#newIdentifiedObjectFinder()">newIdentifiedObjectFinder()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Creates a finder which can be used for looking up unidentified objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#newIdentifiedObjectFinder()">newIdentifiedObjectFinder()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">Returns a finder which can be used for looking up unidentified objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#newInstance()">newInstance()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Creates a new association instance of this role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#newInstance()">newInstance()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Creates a new attribute instance of this type initialized to the <a href="org/apache/sis/feature/DefaultAttributeType.html#getDefaultValue()">default value</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#newInstance()">newInstance()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Creates a new feature instance of this type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#newLine()">newLine()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Request a line separator before the next element to format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#newRange(E,E)">newRange(E, E)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a new <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure"><code>Range</code></a> object initialized with the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#NEWTON">NEWTON</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for force (N).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#next()">next()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Moves the iterator to the next pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#nextColumn()">nextColumn()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Moves one column to the right.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#nextColumn(char)">nextColumn(char)</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Moves one column to the right, filling remaining space with the given character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#nextLine()">nextLine()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Moves to the first column on the next row.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#nextLine(char)">nextLine(char)</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Moves to the first column on the next row, filling every remaining cell in the current
 row with the specified character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#nextPrimeNumber(int)">nextPrimeNumber(int)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the first prime number equals or greater than the given value.</div>
</dd>
<dt><a href="org/apache/sis/xml/NilObject.html" title="interface in org.apache.sis.xml"><span class="typeNameLink">NilObject</span></a> - Interface in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">A marker interface for nil XML elements providing an explanation about why the information is absent.</div>
</dd>
<dt><a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml"><span class="typeNameLink">NilReason</span></a> - Class in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Explanation for a missing XML element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#NO_BREAK_SPACE">NO_BREAK_SPACE</a></span> - Static variable in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">The <cite>no-break space</cite> (Unicode <code>00A0</code>, HTML <code>&amp;nbsp;</code>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#%3Cinit%3E(java.lang.CharSequence)">Node(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Creates a node with a single column for object names (<cite>convenience constructor</cite>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#%3Cinit%3E(org.apache.sis.util.collection.DefaultTreeTable.Node)">Node(DefaultTreeTable.Node)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Creates a new node with the given parent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#%3Cinit%3E(org.apache.sis.util.collection.DefaultTreeTable.Node,int)">Node(DefaultTreeTable.Node, int)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Creates a new node with the given parent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#%3Cinit%3E(org.apache.sis.util.collection.TreeTable)">Node(TreeTable)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Creates a new node for the given table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTables.html#nodeForPath(org.apache.sis.util.collection.TreeTable.Node,org.apache.sis.util.collection.TableColumn,java.io.File)">nodeForPath(TreeTable.Node, TableColumn&lt;? super String&gt;, File)</a></span> - Static method in class <a href="org/apache/sis/util/collection/TreeTables.html" title="class in org.apache.sis.util.collection">TreeTables</a></dt>
<dd>
<div class="block">Finds the node for the given file, or creates a new node if none exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTables.html#nodeForPath(org.apache.sis.util.collection.TreeTable.Node,org.apache.sis.util.collection.TableColumn,java.nio.file.Path)">nodeForPath(TreeTable.Node, TableColumn&lt;? super String&gt;, Path)</a></span> - Static method in class <a href="org/apache/sis/util/collection/TreeTables.html" title="class in org.apache.sis.util.collection">TreeTables</a></dt>
<dd>
<div class="block">Finds the node for the given path, or creates a new node if none exists.</div>
</dd>
<dt><a href="org/apache/sis/index/tree/NodeType.html" title="enum in org.apache.sis.index.tree"><span class="typeNameLink">NodeType</span></a> - Enum in <a href="org/apache/sis/index/tree/package-summary.html">org.apache.sis.index.tree</a></dt>
<dd>
<div class="block">Enum to represent node type of quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ValueExistencePolicy.html#NON_EMPTY">NON_EMPTY</a></span> - <a href="org/apache/sis/metadata/ValueExistencePolicy.html" title="enum in org.apache.sis.metadata">ValueExistencePolicy</a></dt>
<dd>
<div class="block">Includes only the properties that are non-null, non-nil and non empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ValueExistencePolicy.html#NON_NIL">NON_NIL</a></span> - <a href="org/apache/sis/metadata/ValueExistencePolicy.html" title="enum in org.apache.sis.metadata">ValueExistencePolicy</a></dt>
<dd>
<div class="block">Includes only the non-null and non-nil properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ValueExistencePolicy.html#NON_NULL">NON_NULL</a></span> - <a href="org/apache/sis/metadata/ValueExistencePolicy.html" title="enum in org.apache.sis.metadata">ValueExistencePolicy</a></dt>
<dd>
<div class="block">Includes only the non-null properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#NONE">NONE</a></span> - <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">GPS has no fix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Actuate.html#NONE">NONE</a></span> - <a href="org/apache/sis/xml/XLink.Actuate.html" title="enum in org.apache.sis.xml">XLink.Actuate</a></dt>
<dd>
<div class="block">Behavior is unconstrained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Show.html#NONE">NONE</a></span> - <a href="org/apache/sis/xml/XLink.Show.html" title="enum in org.apache.sis.xml">XLink.Show</a></dt>
<dd>
<div class="block">Behavior is unconstrained.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/NoninvertibleMatrixException.html" title="class in org.apache.sis.referencing.operation.matrix"><span class="typeNameLink">NoninvertibleMatrixException</span></a> - Exception in <a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a></dt>
<dd>
<div class="block">Thrown when a matrix can not be inverted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/NoninvertibleMatrixException.html#%3Cinit%3E()">NoninvertibleMatrixException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/matrix/NoninvertibleMatrixException.html" title="class in org.apache.sis.referencing.operation.matrix">NoninvertibleMatrixException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/NoninvertibleMatrixException.html#%3Cinit%3E(java.lang.String)">NoninvertibleMatrixException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/matrix/NoninvertibleMatrixException.html" title="class in org.apache.sis.referencing.operation.matrix">NoninvertibleMatrixException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/NoninvertibleMatrixException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">NoninvertibleMatrixException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/matrix/NoninvertibleMatrixException.html" title="class in org.apache.sis.referencing.operation.matrix">NoninvertibleMatrixException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#nonNullCollection(java.util.Collection,java.lang.Class)">nonNullCollection(Collection&lt;E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Returns the specified collection, or a new one if <code>current</code> is null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#nonNullList(java.util.List,java.lang.Class)">nonNullList(List&lt;E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Returns the specified list, or a new one if <code>current</code> is null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#nonNullMap(java.util.Map,java.lang.Class)">nonNullMap(Map&lt;K, V&gt;, Class&lt;K&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Returns the specified map, or a new one if <code>current</code> is null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#nonNullSet(java.util.Set,java.lang.Class)">nonNullSet(Set&lt;E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Returns the specified set, or a new one if <code>current</code> is null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html#NORMALIZATION">NORMALIZATION</a></span> - <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a></dt>
<dd>
<div class="block">Matrix for converting angular degrees to radians, or any other linear operations needed
 before to apply a non-linear operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#normalize()">normalize()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Ensures that the position is contained in the coordinate system domain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#normalize()">normalize()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Ensures that the envelope is contained in the coordinate system domain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Longitude.html#normalize(double)">normalize(double)</a></span> - Static method in class <a href="org/apache/sis/measure/Longitude.html" title="class in org.apache.sis.measure">Longitude</a></dt>
<dd>
<div class="block">Returns the given longitude value normalized to the [<a href="org/apache/sis/measure/Longitude.html#MIN_VALUE">-180</a> … <a href="org/apache/sis/measure/Longitude.html#MAX_VALUE">180</a>)°
 range (upper value is exclusive).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#normalizeCode(java.lang.String)">normalizeCode(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a code equivalent to the given code but with unnecessary elements eliminated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#normalizeColumns()">normalizeColumns()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Normalizes all columns in-place.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#normalizeColumns()">normalizeColumns()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Normalizes all columns in-place.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#normalizeColumns()">normalizeColumns()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Normalizes all columns in-place.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxesConvention.html#NORMALIZED">NORMALIZED</a></span> - <a href="org/apache/sis/referencing/cs/AxesConvention.html" title="enum in org.apache.sis.referencing.cs">AxesConvention</a></dt>
<dd>
<div class="block">Axes order, direction and units of measurement are forced to commonly used predefined values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#normalizedGeographic()">normalizedGeographic()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns a two-dimensional geographic CRS with axes in the non-standard but computationally convenient
 (<var>longitude</var>, <var>latitude</var>) order.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">NormalizedProjection</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block">Base class for conversion services between ellipsoidal and cartographic projections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters,java.util.Map)">NormalizedProjection(OperationMethod, Parameters, Map&lt;NormalizedProjection.ParameterRole, ? extends ParameterDescriptor&lt;? extends Number&gt;&gt;)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Constructs a new map projection from the supplied parameters.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">NormalizedProjection.ParameterRole</span></a> - Enum in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block">Maps the parameters to be used for initializing <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection"><code>NormalizedProjection</code></a> and its
 <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)">normalization / denormalization</a> matrices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#normalizeGeographicInputs(double)">normalizeGeographicInputs(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Prepends a normalization step converting input coordinates in the two first dimensions from degrees to radians.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/NoSuchAuthorityFactoryException.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">NoSuchAuthorityFactoryException</span></a> - Exception in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Thrown when no factory has been found for a given authority name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/NoSuchAuthorityFactoryException.html#%3Cinit%3E(java.lang.String,java.lang.String)">NoSuchAuthorityFactoryException(String, String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/NoSuchAuthorityFactoryException.html" title="class in org.apache.sis.referencing.factory">NoSuchAuthorityFactoryException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message and authority name.</div>
</dd>
<dt><a href="org/apache/sis/util/NullArgumentException.html" title="class in org.apache.sis.util"><span class="typeNameLink">NullArgumentException</span></a> - Exception in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Thrown when a null argument has been given to a method that doesn't accept them.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/NullArgumentException.html#%3Cinit%3E()">NullArgumentException()</a></span> - Constructor for exception <a href="org/apache/sis/util/NullArgumentException.html" title="class in org.apache.sis.util">NullArgumentException</a></dt>
<dd>
<div class="block">Constructs an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/NullArgumentException.html#%3Cinit%3E(java.lang.String)">NullArgumentException(String)</a></span> - Constructor for exception <a href="org/apache/sis/util/NullArgumentException.html" title="class in org.apache.sis.util">NullArgumentException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#NUMBER">NUMBER</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Floating point numbers (excluding integer types).</div>
</dd>
<dt><a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure"><span class="typeNameLink">NumberRange</span></a>&lt;<a href="org/apache/sis/measure/NumberRange.html" title="type parameter in NumberRange">E</a> extends <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> &amp; <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super <a href="org/apache/sis/measure/NumberRange.html" title="type parameter in NumberRange">E</a>&gt;&gt; - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">A range of numbers capable of widening conversions when performing range operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#%3Cinit%3E(java.lang.Class,E,boolean,E,boolean)">NumberRange(Class&lt;E&gt;, E, boolean, E, boolean)</a></span> - Constructor for class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of <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"><code>Number</code></a> objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#%3Cinit%3E(java.lang.Class,org.apache.sis.measure.ValueRange)">NumberRange(Class&lt;E&gt;, ValueRange)</a></span> - Constructor for class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range of the given type with values from the given annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#%3Cinit%3E(org.apache.sis.measure.Range)">NumberRange(Range&lt;E&gt;)</a></span> - Constructor for class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Constructs a range with the same type and the same values than the specified range.</div>
</dd>
<dt><a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util"><span class="typeNameLink">Numbers</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods working with <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"><code>Number</code></a> objects, and a few primitive types by extension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#numerator">numerator</a></span> - Variable in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">The <var>a</var> term in the <var>a</var>/<var>b</var> fraction.</div>
</dd>
</dl>
<a id="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/sis/util/ObjectConverter.html" title="interface in org.apache.sis.util"><span class="typeNameLink">ObjectConverter</span></a>&lt;<a href="org/apache/sis/util/ObjectConverter.html" title="type parameter in ObjectConverter">S</a>,&#8203;<a href="org/apache/sis/util/ObjectConverter.html" title="type parameter in ObjectConverter">T</a>&gt; - Interface in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">A function which converts instances of <var>source</var> type to instances of <var>target</var> type.</div>
</dd>
<dt><a href="org/apache/sis/util/ObjectConverters.html" title="class in org.apache.sis.util"><span class="typeNameLink">ObjectConverters</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods for creating <a href="org/apache/sis/util/ObjectConverter.html" title="interface in org.apache.sis.util"><code>ObjectConverter</code></a> instances or collection views based on converters.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/ObliqueMercator.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">ObliqueMercator</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Oblique Mercator</cite> projection (EPSG codes 9812, 9815).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ObliqueMercator.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">ObliqueMercator(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/ObliqueMercator.html" title="class in org.apache.sis.referencing.operation.projection">ObliqueMercator</a></dt>
<dd>
<div class="block">Creates an Oblique Mercator projection from the given parameters.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">ObliqueStereographic</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Oblique Stereographic</cite> projection (EPSG code 9809).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">ObliqueStereographic(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html" title="class in org.apache.sis.referencing.operation.projection">ObliqueStereographic</a></dt>
<dd>
<div class="block">Creates an Oblique Stereographic projection from the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#occurrence(int)">occurrence(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns the occurrence of the given value in this list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#OGC">OGC</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The authority for identifiers found in specifications from the
 <a href="http://www.opengeospatial.org">Open Geospatial Consortium</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#OHM">OHM</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for electric resistance (Ω).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#omitTrailingNulls">omitTrailingNulls</a></span> - Variable in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block"><code>true</code> if the trailing <code>null</code> values shall be omitted at formatting time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Actuate.html#ON_LOAD">ON_LOAD</a></span> - <a href="org/apache/sis/xml/XLink.Actuate.html" title="enum in org.apache.sis.xml">XLink.Actuate</a></dt>
<dd>
<div class="block">Traverse to the ending resource immediately on loading the starting resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Actuate.html#ON_REQUEST">ON_REQUEST</a></span> - <a href="org/apache/sis/xml/XLink.Actuate.html" title="enum in org.apache.sis.xml">XLink.Actuate</a></dt>
<dd>
<div class="block">Traverse from the starting resource to the ending resource only on a post-loading event
 triggered for this purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#onCreate(boolean)">onCreate(boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Initializes/cleanups the <a href="org/apache/sis/referencing/Builder.html#properties"><code>Builder.properties</code></a> map before/after a <code>createXXX(…)</code> execution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#onLineBegin(boolean)">onLineBegin(boolean)</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Invoked when a new line is beginning.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStores.html#open(java.lang.Object)">open(Object)</a></span> - Static method in class <a href="org/apache/sis/storage/DataStores.html" title="class in org.apache.sis.storage">DataStores</a></dt>
<dd>
<div class="block">Creates a <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><code>DataStore</code></a> for the given storage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#open(org.apache.sis.storage.StorageConnector)">open(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Returns a data store implementation associated with this provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html#open(org.apache.sis.storage.StorageConnector)">open(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html" title="class in org.apache.sis.storage.earthobservation">LandsatStoreProvider</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation"><code>LandsatStore</code></a> implementation associated with this provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html#open(org.apache.sis.storage.StorageConnector)">open(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStoreProvider</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff"><code>GeoTiffStore</code></a> implementation associated with this provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html#open(org.apache.sis.storage.StorageConnector)">open(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html" title="class in org.apache.sis.storage.netcdf">NetcdfStoreProvider</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf"><code>NetcdfStore</code></a> implementation associated with this provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStoreProvider.html#open(org.apache.sis.storage.StorageConnector)">open(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStoreProvider.html" title="class in org.apache.sis.storage.sql">SQLStoreProvider</a></dt>
<dd>
<div class="block">Returns a <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql"><code>SQLStore</code></a> implementation associated with this provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#open(org.opengis.parameter.ParameterValueGroup)">open(ParameterValueGroup)</a></span> - Method in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Returns a data store implementation associated with this provider for the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStoreProvider.html#open(org.opengis.parameter.ParameterValueGroup)">open(ParameterValueGroup)</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStoreProvider.html" title="class in org.apache.sis.storage.sql">SQLStoreProvider</a></dt>
<dd>
<div class="block">Returns a data store implementation associated with this provider for the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#OPEN_OPTIONS">OPEN_OPTIONS</a></span> - Static variable in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Whether a storage object (e.g. a <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><code>DataStore</code></a>) shall be opened in read,
 write, append or other modes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/ResourcesDownloader.html#openScript(java.lang.String,int)">openScript(String, int)</a></span> - Method in class <a href="org/apache/sis/console/ResourcesDownloader.html" title="class in org.apache.sis.console">ResourcesDownloader</a></dt>
<dd>
<div class="block">Returns a reader for the installation script at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html#openScript(java.lang.String,int)">openScript(String, int)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html" title="class in org.apache.sis.referencing.factory.sql">InstallationScriptProvider</a></dt>
<dd>
<div class="block">Returns a reader for the SQL script at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/InstallationResources.html#openScript(java.lang.String,int)">openScript(String, int)</a></span> - Method in class <a href="org/apache/sis/setup/InstallationResources.html" title="class in org.apache.sis.setup">InstallationResources</a></dt>
<dd>
<div class="block">Returns a reader for the resources at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html#openStream(java.lang.String)">openStream(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html" title="class in org.apache.sis.referencing.factory.sql">InstallationScriptProvider</a></dt>
<dd>
<div class="block">Opens the input stream for the SQL script of the given name.</div>
</dd>
<dt><a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup"><span class="typeNameLink">OptionKey</span></a>&lt;<a href="org/apache/sis/setup/OptionKey.html" title="type parameter in OptionKey">T</a>&gt; - Class in <a href="org/apache/sis/setup/package-summary.html">org.apache.sis.setup</a></dt>
<dd>
<div class="block">Keys in a map of options for configuring various services
 (<a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><code>DataStore</code></a>, <i>etc</i>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#%3Cinit%3E(java.lang.String,java.lang.Class)">OptionKey(String, Class&lt;T&gt;)</a></span> - Constructor for class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Creates a new key of the given name for values of the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#ORDER_PRESERVING">ORDER_PRESERVING</a></span> - <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">A function preserves order if any sequence of increasing <var>S</var> values is mapped
 to a sequence of increasing <var>T</var> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#ORDER_REVERSING">ORDER_REVERSING</a></span> - <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">A function reverses order if any sequence of increasing <var>S</var> values is mapped
 to a sequence of decreasing <var>T</var> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#ordinates">ordinates</a></span> - Variable in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/geometry/GeneralDirectPosition.html#coordinates"><code>GeneralDirectPosition.coordinates</code></a>.</div>
</div>
</dd>
<dt><a href="org/apache/sis/console/package-summary.html">org.apache.sis.console</a> - package org.apache.sis.console</dt>
<dd>
<div class="block">Command line interface for Apache SIS.</div>
</dd>
<dt><a href="org/apache/sis/coverage/package-summary.html">org.apache.sis.coverage</a> - package org.apache.sis.coverage</dt>
<dd>
<div class="block">Functions that associates positions within a bounded space (its domain) to values (its range).</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a> - package org.apache.sis.coverage.grid</dt>
<dd>
<div class="block">A coverage backed by a regular grid.</div>
</dd>
<dt><a href="org/apache/sis/distance/package-summary.html">org.apache.sis.distance</a> - package org.apache.sis.distance</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/sis/feature/package-summary.html">org.apache.sis.feature</a> - package org.apache.sis.feature</dt>
<dd>
<div class="block">Defines the structure and content of views of real-world phenomenon.</div>
</dd>
<dt><a href="org/apache/sis/feature/builder/package-summary.html">org.apache.sis.feature.builder</a> - package org.apache.sis.feature.builder</dt>
<dd>
<div class="block">Helper classes for creating <code>FeatureType</code> instances.</div>
</dd>
<dt><a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a> - package org.apache.sis.geometry</dt>
<dd>
<div class="block">Basic geometric objects (envelopes and direct positions).</div>
</dd>
<dt><a href="org/apache/sis/image/package-summary.html">org.apache.sis.image</a> - package org.apache.sis.image</dt>
<dd>
<div class="block">Provides helper classes for handling Java2D rendered images together with some operations.</div>
</dd>
<dt><a href="org/apache/sis/index/tree/package-summary.html">org.apache.sis.index.tree</a> - package org.apache.sis.index.tree</dt>
<dd>
<div class="block">A simple quadtree implementation.</div>
</dd>
<dt><a href="org/apache/sis/io/package-summary.html">org.apache.sis.io</a> - package org.apache.sis.io</dt>
<dd>
<div class="block">Extensions to standard Java I/O (<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>Reader</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>Writer</code></a>,
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Appendable</code></a>).</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a> - package org.apache.sis.io.wkt</dt>
<dd>
<div class="block"><cite>Well Known Text</cite> (WKT) parsing and formatting.</div>
</dd>
<dt><a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a> - package org.apache.sis.math</dt>
<dd>
<div class="block">A set of mathematical objects and algebraic utilities.</div>
</dd>
<dt><a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a> - package org.apache.sis.measure</dt>
<dd>
<div class="block">Units of measurements, values related to measurement (like angles and ranges) and their formatters.</div>
</dd>
<dt><a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a> - package org.apache.sis.metadata</dt>
<dd>
<div class="block">Root package for various metadata implementations.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/package-summary.html">org.apache.sis.metadata.iso</a> - package org.apache.sis.metadata.iso</dt>
<dd>
<div class="block">Root package for ISO 19115 metadata about resources (data or services).</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/acquisition/package-summary.html">org.apache.sis.metadata.iso.acquisition</a> - package org.apache.sis.metadata.iso.acquisition</dt>
<dd>
<div class="block">Information about the measuring instruments, the platform carrying them, and the mission to which the data contributes.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/citation/package-summary.html">org.apache.sis.metadata.iso.citation</a> - package org.apache.sis.metadata.iso.citation</dt>
<dd>
<div class="block">Reference to the data or service (citation, responsible party, contact information).</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/constraint/package-summary.html">org.apache.sis.metadata.iso.constraint</a> - package org.apache.sis.metadata.iso.constraint</dt>
<dd>
<div class="block">Information about legal and security constraints placed on data.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/content/package-summary.html">org.apache.sis.metadata.iso.content</a> - package org.apache.sis.metadata.iso.content</dt>
<dd>
<div class="block">Description of the dataset content.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/distribution/package-summary.html">org.apache.sis.metadata.iso.distribution</a> - package org.apache.sis.metadata.iso.distribution</dt>
<dd>
<div class="block">Information about the options for obtaining a resource (data or service).</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/extent/package-summary.html">org.apache.sis.metadata.iso.extent</a> - package org.apache.sis.metadata.iso.extent</dt>
<dd>
<div class="block">Information about spatial, vertical, and temporal extent.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/identification/package-summary.html">org.apache.sis.metadata.iso.identification</a> - package org.apache.sis.metadata.iso.identification</dt>
<dd>
<div class="block">Information to uniquely identify the data or service.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/lineage/package-summary.html">org.apache.sis.metadata.iso.lineage</a> - package org.apache.sis.metadata.iso.lineage</dt>
<dd>
<div class="block">Information about the sources and production processes of a dataset.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/maintenance/package-summary.html">org.apache.sis.metadata.iso.maintenance</a> - package org.apache.sis.metadata.iso.maintenance</dt>
<dd>
<div class="block">Information about the frequency and scope of data updates.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/quality/package-summary.html">org.apache.sis.metadata.iso.quality</a> - package org.apache.sis.metadata.iso.quality</dt>
<dd>
<div class="block">Information about data quality, accuracy and consistency of a dataset.</div>
</dd>
<dt><a href="org/apache/sis/metadata/iso/spatial/package-summary.html">org.apache.sis.metadata.iso.spatial</a> - package org.apache.sis.metadata.iso.spatial</dt>
<dd>
<div class="block">Information about the mechanisms (grid or vector) used to represent spatial data.</div>
</dd>
<dt><a href="org/apache/sis/metadata/sql/package-summary.html">org.apache.sis.metadata.sql</a> - package org.apache.sis.metadata.sql</dt>
<dd>
<div class="block">An implementation of <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/Metadata.html?is-external=true" title="class or interface in org.opengis.metadata" class="externalLink">Metadata</a> interfaces
 fetching the data from an SQL database.</div>
</dd>
<dt><a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a> - package org.apache.sis.parameter</dt>
<dd>
<div class="block">Descriptions and values of parameters used by a coordinate operation or a process.</div>
</dd>
<dt><a href="org/apache/sis/profile/france/package-summary.html">org.apache.sis.profile.france</a> - package org.apache.sis.profile.france</dt>
<dd>
<div class="block">French extensions defined by the <cite>Association Française de Normalisation</cite> (AFNOR).</div>
</dd>
<dt><a href="org/apache/sis/profile/japan/package-summary.html">org.apache.sis.profile.japan</a> - package org.apache.sis.profile.japan</dt>
<dd>
<div class="block">Japanese extensions to netCDF reader.</div>
</dd>
<dt><a href="org/apache/sis/referencing/package-summary.html">org.apache.sis.referencing</a> - package org.apache.sis.referencing</dt>
<dd>
<div class="block">Base classes for reference systems used for general positioning.</div>
</dd>
<dt><a href="org/apache/sis/referencing/crs/package-summary.html">org.apache.sis.referencing.crs</a> - package org.apache.sis.referencing.crs</dt>
<dd>
<div class="block">Coordinate Reference System (CRS) definitions as coordinate systems related to the earth through datum.</div>
</dd>
<dt><a href="org/apache/sis/referencing/cs/package-summary.html">org.apache.sis.referencing.cs</a> - package org.apache.sis.referencing.cs</dt>
<dd>
<div class="block">Coordinate System (CS) definitions as the set of coordinate system axes that spans the coordinate space.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a> - package org.apache.sis.referencing.datum</dt>
<dd>
<div class="block">Relationship of a <code>CoordinateSystem</code> (an abstract mathematical entity) to the earth or other system.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a> - package org.apache.sis.referencing.factory</dt>
<dd>
<div class="block">Creates Coordinate Reference System (CRS) objects from given properties or authority codes.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/sql/package-summary.html">org.apache.sis.referencing.factory.sql</a> - package org.apache.sis.referencing.factory.sql</dt>
<dd>
<div class="block">Factories for geodetic objects defined in a SQL database, typically the EPSG dataset.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a> - package org.apache.sis.referencing.gazetteer</dt>
<dd>
<div class="block">Mapping between geographic identifiers (addresses, grid indexes…) and locations (descriptions, coordinates…).</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/package-summary.html">org.apache.sis.referencing.operation</a> - package org.apache.sis.referencing.operation</dt>
<dd>
<div class="block">Relationship between any two <a href="org/apache/sis/referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">Coordinate Reference Systems</a> (CRS).</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/builder/package-summary.html">org.apache.sis.referencing.operation.builder</a> - package org.apache.sis.referencing.operation.builder</dt>
<dd>
<div class="block">Helper classes for creating <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">Math Transforms</a> from a set of points.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/matrix/package-summary.html">org.apache.sis.referencing.operation.matrix</a> - package org.apache.sis.referencing.operation.matrix</dt>
<dd>
<div class="block">Matrix implementations for spatiotemporal referencing.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a> - package org.apache.sis.referencing.operation.projection</dt>
<dd>
<div class="block">Map projection implementations.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a> - package org.apache.sis.referencing.operation.transform</dt>
<dd>
<div class="block">Conversions or transformations of multi-dimensional coordinate points.</div>
</dd>
<dt><a href="org/apache/sis/setup/package-summary.html">org.apache.sis.setup</a> - package org.apache.sis.setup</dt>
<dd>
<div class="block">Provides information and some controls about SIS configuration.</div>
</dd>
<dt><a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a> - package org.apache.sis.storage</dt>
<dd>
<div class="block"><a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">Data store</a> base types for retrieving and saving geospatial data
 in various storage formats.</div>
</dd>
<dt><a href="org/apache/sis/storage/earthobservation/package-summary.html">org.apache.sis.storage.earthobservation</a> - package org.apache.sis.storage.earthobservation</dt>
<dd>
<div class="block">Metadata readers for some format used in Earth observation (Landsat, MODIS).</div>
</dd>
<dt><a href="org/apache/sis/storage/event/package-summary.html">org.apache.sis.storage.event</a> - package org.apache.sis.storage.event</dt>
<dd>
<div class="block">Provides interfaces and classes for dealing with different types of events fired by resources.</div>
</dd>
<dt><a href="org/apache/sis/storage/geotiff/package-summary.html">org.apache.sis.storage.geotiff</a> - package org.apache.sis.storage.geotiff</dt>
<dd>
<div class="block">Maps ISO metadata elements from/to the GeoTIFF tags.</div>
</dd>
<dt><a href="org/apache/sis/storage/gps/package-summary.html">org.apache.sis.storage.gps</a> - package org.apache.sis.storage.gps</dt>
<dd>
<div class="block">Structures related to Global Positioning System (GPS).</div>
</dd>
<dt><a href="org/apache/sis/storage/netcdf/package-summary.html">org.apache.sis.storage.netcdf</a> - package org.apache.sis.storage.netcdf</dt>
<dd>
<div class="block">Maps ISO metadata elements from/to the <a href="http://www.cfconventions.org">Climate and Forecast (CF)</a>
 attributes in a netCDF file.</div>
</dd>
<dt><a href="org/apache/sis/storage/sql/package-summary.html">org.apache.sis.storage.sql</a> - package org.apache.sis.storage.sql</dt>
<dd>
<div class="block">Data store capable to read and create features from a JDBC connection to a database.</div>
</dd>
<dt><a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a> - package org.apache.sis.util</dt>
<dd>
<div class="block">Simple data objects and miscellaneous utilities.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a> - package org.apache.sis.util.collection</dt>
<dd>
<div class="block">Addition to the collection framework.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a> - package org.apache.sis.util.iso</dt>
<dd>
<div class="block">Implementations of GeoAPI types from the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/package-summary.html?is-external=true" class="externalLink"><code>org.opengis.util</code></a> package.</div>
</dd>
<dt><a href="org/apache/sis/util/logging/package-summary.html">org.apache.sis.util.logging</a> - package org.apache.sis.util.logging</dt>
<dd>
<div class="block">Extensions to the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html?is-external=true" class="externalLink">JDK logging</a> framework.</div>
</dd>
<dt><a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a> - package org.apache.sis.xml</dt>
<dd>
<div class="block">Provides methods for marshalling and unmarshalling SIS objects in XML.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#orientation">orientation</a></span> - Variable in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">The pixel orientation for this translation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#orthodromicDistance(double,double,double,double)">orthodromicDistance(double, double, double, double)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing"><code>GeodeticCalculator</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Actuate.html#OTHER">OTHER</a></span> - <a href="org/apache/sis/xml/XLink.Actuate.html" title="enum in org.apache.sis.xml">XLink.Actuate</a></dt>
<dd>
<div class="block">Behavior is unconstrained; examine other markup in link for hints.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Show.html#OTHER">OTHER</a></span> - <a href="org/apache/sis/xml/XLink.Show.html" title="enum in org.apache.sis.xml">XLink.Show</a></dt>
<dd>
<div class="block">Behavior is unconstrained; examine other markup in the link for hints.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#OTHER">OTHER</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 0 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#OTHER">OTHER</a></span> - Static variable in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">Other reason without explanation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#OTHER_ERROR_EXIT_CODE">OTHER_ERROR_EXIT_CODE</a></span> - Static variable in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">The code given to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#exit(int)" title="class or interface in java.lang" class="externalLink"><code>System.exit(int)</code></a> when the program failed for a reason
 other than the ones enumerated in the above constants.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#OTHER_SURFACE">OTHER_SURFACE</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Height measured above other kind of surface, for example a geological feature.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#OVERALL_OWNER_KEY">OVERALL_OWNER_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Key for the <code>"overallOwner"</code> property to be given to the
 object factory <code>createFoo(…)</code> methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#owner">owner</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">The <code>ConcurrentAuthorityFactory</code> that created this Data Access Object (DAO).</div>
</dd>
</dl>
<a id="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#PARAGRAPH_SEPARATOR">PARAGRAPH_SEPARATOR</a></span> - Static variable in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">The Unicode paragraph separator (Unicode <code>2029</code>, HTML <code>&lt;p&gt;…&lt;/p&gt;</code>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#parameter(java.lang.String)">parameter(String)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Returns the value in this group for the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#parameter(java.lang.String)">parameter(String)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Returns the parameter value of the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#PARAMETER">PARAMETER</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Name of <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">parameters</a>,
 often represented by <code>PARAMETER[…]</code> elements.</div>
</dd>
<dt><a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">ParameterBuilder</span></a> - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">Helper class for <a href="org/apache/sis/parameter/DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">parameter descriptor</a> instantiations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#%3Cinit%3E()">ParameterBuilder()</a></span> - Constructor for class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a new builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#%3Cinit%3E(org.opengis.parameter.GeneralParameterDescriptor)">ParameterBuilder(GeneralParameterDescriptor)</a></span> - Constructor for class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Creates a new builder initialized to properties of the given object.</div>
</dd>
<dt><a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">ParameterFormat</span></a> - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">Formats <a href="org/apache/sis/parameter/DefaultParameterDescriptorGroup.html" title="class in org.apache.sis.parameter">parameter descriptors</a> or
 <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">parameter values</a> in a tabular format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#%3Cinit%3E()">ParameterFormat()</a></span> - Constructor for class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Creates a new formatter for the default locale and timezone.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">ParameterFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Creates a new formatter for the given locale and timezone.</div>
</dd>
<dt><a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html" title="enum in org.apache.sis.parameter"><span class="typeNameLink">ParameterFormat.ContentLevel</span></a> - Enum in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">The amount of information to include in the table formatted by <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter"><code>ParameterFormat</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/parameter/Parameterized.html" title="interface in org.apache.sis.parameter"><span class="typeNameLink">Parameterized</span></a> - Interface in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">An object which can supply its parameters in a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink"><code>ParameterValueGroup</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">Parameters</span></a> - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">Convenience methods for fetching parameter values despite the variations in parameter names, value types and units.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#%3Cinit%3E()">Parameters()</a></span> - Constructor for class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">For subclass constructors only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#parse(java.lang.CharSequence)">parse(CharSequence)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Parses the given text as an instance of <code>Unit</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Not yet supported.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Parses a coordinate from the given character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Creates an object from the given character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Creates an object from the given character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Not yet supported.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Parses a portion of the given text as an instance of <code>Unit</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Not yet supported.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/LocationFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/LocationFormat.html" title="class in org.apache.sis.referencing.gazetteer">LocationFormat</a></dt>
<dd>
<div class="block">Unsupported operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#parse(java.lang.CharSequence,java.text.ParsePosition)">parse(CharSequence, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Creates a tree from the given character sequence,
 or returns <code>null</code> if the given text does not look like a tree for this method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#parse(java.lang.String)">parse(String)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Parses the given string as an angle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#parse(java.lang.String)">parse(String)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Parses text from the given string to produce a range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Locales.html#parse(java.lang.String)">parse(String)</a></span> - Static method in class <a href="org/apache/sis/util/Locales.html" title="class in org.apache.sis.util">Locales</a></dt>
<dd>
<div class="block">Parses the given language code, optionally followed by country code and variant.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Locales.html#parse(java.lang.String,int)">parse(String, int)</a></span> - Static method in class <a href="org/apache/sis/util/Locales.html" title="class in org.apache.sis.util">Locales</a></dt>
<dd>
<div class="block">Parses the given language code and optional complements (country, variant), starting at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#parse(java.lang.String,java.text.ParsePosition)">parse(String, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Parses the given string as an angle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#parse(java.lang.String,java.text.ParsePosition)">parse(String, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Parses text from a string to produce a range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTables.html#parse(java.lang.String,org.apache.sis.util.collection.TableColumn,org.apache.sis.util.collection.TableColumn...)">parse(String, TableColumn&lt;?&gt;, TableColumn&lt;?&gt;...)</a></span> - Static method in class <a href="org/apache/sis/util/collection/TreeTables.html" title="class in org.apache.sis.util.collection">TreeTables</a></dt>
<dd>
<div class="block">Parses the given string as tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#parseAxisDirection(java.lang.String)">parseAxisDirection(String)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns an axis direction code from the given direction name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#parseBytes(java.lang.CharSequence,char,int)">parseBytes(CharSequence, char, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/util/CharSequences.html#split(java.lang.CharSequence,char)">Splits</a> the given text around the given character,
 then <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true#parseByte(java.lang.String)" title="class or interface in java.lang" class="externalLink">parses</a> each item as a <code>byte</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#parseDoubles(java.lang.CharSequence,char)">parseDoubles(CharSequence, char)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/util/CharSequences.html#split(java.lang.CharSequence,char)">Splits</a> the given text around the given character,
 then <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#parseDouble(java.lang.String)" title="class or interface in java.lang" class="externalLink">parses</a> each item as a <code>double</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#parseFloats(java.lang.CharSequence,char)">parseFloats(CharSequence, char)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/util/CharSequences.html#split(java.lang.CharSequence,char)">Splits</a> the given text around the given character,
 then <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#parseFloat(java.lang.String)" title="class or interface in java.lang" class="externalLink">parses</a> each item as a <code>float</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#parseGenericName(java.lang.CharSequence,java.lang.String,java.lang.CharSequence)">parseGenericName(CharSequence, String, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Creates a local or scoped name in the given namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#parseGenericName(org.opengis.util.NameSpace,java.lang.CharSequence)">parseGenericName(NameSpace, CharSequence)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Constructs a generic name from a qualified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#parseInts(java.lang.CharSequence,char,int)">parseInts(CharSequence, char, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/util/CharSequences.html#split(java.lang.CharSequence,char)">Splits</a> the given text around the given character,
 then <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true#parseInt(java.lang.String)" title="class or interface in java.lang" class="externalLink">parses</a> each item as an <code>int</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#parseLongs(java.lang.CharSequence,char,int)">parseLongs(CharSequence, char, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/util/CharSequences.html#split(java.lang.CharSequence,char)">Splits</a> the given text around the given character,
 then <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true#parseLong(java.lang.String)" title="class or interface in java.lang" class="externalLink">parses</a> each item as a <code>long</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#parseObject(java.lang.String)">parseObject(String)</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Creates an object from the given string representation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#parseObject(java.lang.String)">parseObject(String)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Parses the given string as an object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#parseObject(java.lang.String)">parseObject(String)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Parses text from a string to produce a range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#parseObject(java.lang.String)">parseObject(String)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Parses text from a string to produce a unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/CompoundFormat.html#parseObject(java.lang.String,java.text.ParsePosition)">parseObject(String, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/io/CompoundFormat.html" title="class in org.apache.sis.io">CompoundFormat</a></dt>
<dd>
<div class="block">Creates an object from the given string representation, or returns <code>null</code> if an error
 occurred while parsing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#parseObject(java.lang.String,java.text.ParsePosition)">parseObject(String, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Parses a substring as an object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#parseObject(java.lang.String,java.text.ParsePosition)">parseObject(String, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Parses text from a string to produce a range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#parseObject(java.lang.String,java.text.ParsePosition)">parseObject(String, ParsePosition)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Parses text from a string to produce a unit, or returns <code>null</code> if the parsing failed.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/Parser.html" title="interface in org.apache.sis.io.wkt"><span class="typeNameLink">Parser</span></a> - Interface in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">A parser or a factory capable to create an object from a string in the WKT format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#parseShorts(java.lang.CharSequence,char,int)">parseShorts(CharSequence, char, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/util/CharSequences.html#split(java.lang.CharSequence,char)">Splits</a> the given text around the given character,
 then <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true#parseShort(java.lang.String)" title="class or interface in java.lang" class="externalLink">parses</a> each item as a <code>short</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#PASCAL">PASCAL</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for pressure (Pa).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#pass()">pass()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Returns an indication of the conformance result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#passThrough(int,org.opengis.referencing.operation.MathTransform,int)">passThrough(int, MathTransform, int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Creates a transform which passes through a subset of coordinates to another transform.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">PassThroughTransform</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Transform which passes through a subset of coordinates to another transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#%3Cinit%3E(int,org.opengis.referencing.operation.MathTransform,int)">PassThroughTransform(int, MathTransform, int)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Constructor for sub-classes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultScopedName.html#path()">path()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso">DefaultScopedName</a></dt>
<dd>
<div class="block">Returns every element in the sequence of <a href="org/apache/sis/util/iso/DefaultScopedName.html#getParsedNames()">parsed names</a>
 except for the <a href="org/apache/sis/util/iso/AbstractName.html#tip()">tip</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#PATHS">PATHS</a></span> - <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Information about user home directory, java installation directory or other kind of data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.Handler.html#peek()">peek()</a></span> - Method in interface <a href="org/apache/sis/util/collection/Cache.Handler.html" title="interface in org.apache.sis.util.collection">Cache.Handler</a></dt>
<dd>
<div class="block">If the value is already in the cache, returns it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#peek(K)">peek(K)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">If a value is already cached for the given key, returns it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#PERCENT">PERCENT</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Dimensionless unit for percentages (%).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/PerformanceLevel.html#PERFORMANCE">PERFORMANCE</a></span> - Static variable in class <a href="org/apache/sis/util/logging/PerformanceLevel.html" title="class in org.apache.sis.util.logging">PerformanceLevel</a></dt>
<dd>
<div class="block">The level for logging all time measurements, regardless of their duration.</div>
</dd>
<dt><a href="org/apache/sis/util/logging/PerformanceLevel.html" title="class in org.apache.sis.util.logging"><span class="typeNameLink">PerformanceLevel</span></a> - Class in <a href="org/apache/sis/util/logging/package-summary.html">org.apache.sis.util.logging</a></dt>
<dd>
<div class="block">Logging levels for measurements of execution time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#pick(int...)">pick(int...)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a view which contains the values of this vector at the given indexes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#PIXEL">PIXEL</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Dimensionless unit for pixels (px).</div>
</dd>
<dt><a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image"><span class="typeNameLink">PixelIterator</span></a> - Class in <a href="org/apache/sis/image/package-summary.html">org.apache.sis.image</a></dt>
<dd>
<div class="block">An iterator over sample values in a raster or an image.</div>
</dd>
<dt><a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image"><span class="typeNameLink">PixelIterator.Builder</span></a> - Class in <a href="org/apache/sis/image/package-summary.html">org.apache.sis.image</a></dt>
<dd>
<div class="block">Builds pixel iterators for specified region of interest, window size or iteration order.</div>
</dd>
<dt><a href="org/apache/sis/image/PixelIterator.Window.html" title="class in org.apache.sis.image"><span class="typeNameLink">PixelIterator.Window</span></a>&lt;<a href="org/apache/sis/image/PixelIterator.Window.html" title="type parameter in PixelIterator.Window">T</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true" title="class or interface in java.nio" class="externalLink">Buffer</a>&gt; - Class in <a href="org/apache/sis/image/package-summary.html">org.apache.sis.image</a></dt>
<dd>
<div class="block">Contains the sample values in a moving window over the image.</div>
</dd>
<dt><a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid"><span class="typeNameLink">PixelTranslation</span></a> - Class in <a href="org/apache/sis/coverage/grid/package-summary.html">org.apache.sis.coverage.grid</a></dt>
<dd>
<div class="block">The translation to apply for different values of <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/spatial/PixelOrientation.html?is-external=true" title="class or interface in org.opengis.metadata.spatial" class="externalLink"><code>PixelOrientation</code></a> or <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/PixelInCell.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink"><code>PixelInCell</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math"><span class="typeNameLink">Plane</span></a> - Class in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">Equation of a plane in a three-dimensional space (<var>x</var>,<var>y</var>,<var>z</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#%3Cinit%3E()">Plane()</a></span> - Constructor for class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Constructs a new plane with all coefficients initialized to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Double.NaN</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#%3Cinit%3E(double,double,double)">Plane(double, double, double)</a></span> - Constructor for class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Constructs a new plane initialized to the given coefficients.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#PLATFORM">PLATFORM</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the platform(s) that supported the sensors used to create the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#PLUGINS">PLUGINS</a></span> - <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Information about available plugins.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#POINT">POINT</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 0.013837 inch (1 pt).</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">PolarStereographic</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Polar Stereographic</cite> projection (EPSG codes 9810, 9829, 9830).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">PolarStereographic(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html" title="class in org.apache.sis.referencing.operation.projection">PolarStereographic</a></dt>
<dd>
<div class="block">Creates a Polar Stereographic projection from the given parameters.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/Polyconic.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">Polyconic</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>American Polyconic</cite> projection (EPSG codes 9818).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Polyconic.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">Polyconic(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/Polyconic.html" title="class in org.apache.sis.referencing.operation.projection">Polyconic</a></dt>
<dd>
<div class="block">Creates a Polyconic projection from the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#polynomialRoots(double...)">polynomialRoots(double...)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the real (non-complex) roots of a polynomial equation having the given coefficients.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html#POSITIVE">POSITIVE</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Dimension</a></dt>
<dd>
<div class="block">The attribute name for indicating which direction is positive (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxesConvention.html#POSITIVE_RANGE">POSITIVE_RANGE</a></span> - <a href="org/apache/sis/referencing/cs/AxesConvention.html" title="enum in org.apache.sis.referencing.cs">AxesConvention</a></dt>
<dd>
<div class="block">Axes having a <cite>wraparound</cite>
 <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#getRangeMeaning()">range meaning</a> are
 shifted to their ranges of positive values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#pow(long,int)">pow(long, int)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Computes the result of <code>base</code> argument raised to the power given by <code>exponent</code> argument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#pow10(double)">pow10(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Computes 10 raised to the power of <var>x</var>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#pow10(int)">pow10(int)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Computes 10 raised to the power of <var>x</var>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#PPM">PPM</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Dimensionless unit for parts per million (ppm).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#PRECISE">PRECISE</a></span> - <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">Precise Positioning Service (PPS) used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#prefix">prefix</a></span> - Variable in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">The prefix of parameter names for tensor elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html#PREPARE">PREPARE</a></span> - Static variable in class <a href="org/apache/sis/referencing/factory/sql/InstallationScriptProvider.html" title="class in org.apache.sis.referencing.factory.sql">InstallationScriptProvider</a></dt>
<dd>
<div class="block">A sentinel value for the content of the script to execute before the SQL scripts provided by the authority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#primeMeridian()">primeMeridian()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the prime meridian associated to this geodetic object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#primitiveBitCount(java.lang.Class)">primitiveBitCount(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns the number of bits used by primitive of the specified type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#primitiveToWrapper(java.lang.Class)">primitiveToWrapper(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Changes a primitive class to its wrapper (for example <code>int</code> to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Integer</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/FormattableObject.html#print()">print()</a></span> - Method in class <a href="org/apache/sis/io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></dt>
<dd>
<div class="block">Prints a string representation of this object to the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#out" title="class or interface in java.lang" class="externalLink">standard output stream</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#print()">print()</a></span> - Method in class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">Prints a string representation of this descriptor to the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#out" title="class or interface in java.lang" class="externalLink">standard output stream</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#print()">print()</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Prints a string representation of this group to the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#out" title="class or interface in java.lang" class="externalLink">standard output stream</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#printCacheContent(java.io.PrintWriter)">printCacheContent(PrintWriter)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Prints the cache content to the given writer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)">probeContent(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage">DataStoreProvider</a></dt>
<dd>
<div class="block">Indicates if the given storage appears to be supported by the <code>DataStore</code>s created by this provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)">probeContent(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/earthobservation/LandsatStoreProvider.html" title="class in org.apache.sis.storage.earthobservation">LandsatStoreProvider</a></dt>
<dd>
<div class="block">Returns <a href="org/apache/sis/storage/ProbeResult.html#SUPPORTED"><code>ProbeResult.SUPPORTED</code></a> if the given storage appears to be supported by <a href="org/apache/sis/storage/earthobservation/LandsatStore.html" title="class in org.apache.sis.storage.earthobservation"><code>LandsatStore</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)">probeContent(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/geotiff/GeoTiffStoreProvider.html" title="class in org.apache.sis.storage.geotiff">GeoTiffStoreProvider</a></dt>
<dd>
<div class="block">Returns <a href="org/apache/sis/storage/ProbeResult.html#SUPPORTED"><code>ProbeResult.SUPPORTED</code></a> if the given storage appears to be supported by <a href="org/apache/sis/storage/geotiff/GeoTiffStore.html" title="class in org.apache.sis.storage.geotiff"><code>GeoTiffStore</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)">probeContent(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStoreProvider.html" title="class in org.apache.sis.storage.netcdf">NetcdfStoreProvider</a></dt>
<dd>
<div class="block">Returns <a href="org/apache/sis/storage/ProbeResult.html#SUPPORTED"><code>ProbeResult.SUPPORTED</code></a> if the given storage appears to be supported by <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf"><code>NetcdfStore</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)">probeContent(StorageConnector)</a></span> - Method in class <a href="org/apache/sis/storage/sql/SQLStoreProvider.html" title="class in org.apache.sis.storage.sql">SQLStoreProvider</a></dt>
<dd>
<div class="block">Returns <a href="org/apache/sis/storage/ProbeResult.html#SUPPORTED"><code>ProbeResult.SUPPORTED</code></a> if the given storage appears to be supported by <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql"><code>SQLStore</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStores.html#probeContentType(java.lang.Object)">probeContentType(Object)</a></span> - Static method in class <a href="org/apache/sis/storage/DataStores.html" title="class in org.apache.sis.storage">DataStores</a></dt>
<dd>
<div class="block">Returns the MIME type of the storage file format, or <code>null</code> if unknown or not applicable.</div>
</dd>
<dt><a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage"><span class="typeNameLink">ProbeResult</span></a> - Class in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Tells whether a storage (file, database) appears to be supported by a <code>DataStore</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#%3Cinit%3E(boolean,java.lang.String,org.apache.sis.util.Version)">ProbeResult(boolean, String, Version)</a></span> - Constructor for class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">Creates a new <code>ProbeResult</code> with the given support status, MIME type and version number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#PROCESSING_LEVEL">PROCESSING_LEVEL</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "processing_level" attribute name for a textual description of the processing (or quality control)
 level of the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#PRODUCT_VERSION">PRODUCT_VERSION</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "product_version" attribute for version identifier of the data file or product as assigned by the data creator
 (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#PROGRAM">PROGRAM</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the overarching program(s) of which the dataset is a part (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#PROJ4">PROJ4</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The authority for identifiers of objects defined by the <a href="https://proj4.org/">Proj.4</a> project.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#PROJECT">PROJECT</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "project" attribute name for the scientific project that produced the data
 (<em>Recommended</em>).</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/ProjectionException.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">ProjectionException</span></a> - Exception in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block">Thrown by <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection"><code>NormalizedProjection</code></a> when a map projection failed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ProjectionException.html#%3Cinit%3E()">ProjectionException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/projection/ProjectionException.html" title="class in org.apache.sis.referencing.operation.projection">ProjectionException</a></dt>
<dd>
<div class="block">Constructs a new exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ProjectionException.html#%3Cinit%3E(java.lang.String)">ProjectionException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/projection/ProjectionException.html" title="class in org.apache.sis.referencing.operation.projection">ProjectionException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ProjectionException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ProjectionException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/projection/ProjectionException.html" title="class in org.apache.sis.referencing.operation.projection">ProjectionException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ProjectionException.html#%3Cinit%3E(java.lang.Throwable)">ProjectionException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/operation/projection/ProjectionException.html" title="class in org.apache.sis.referencing.operation.projection">ProjectionException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#properties">properties</a></span> - Variable in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">The properties to be given to <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/ObjectFactory.html?is-external=true" title="class or interface in org.opengis.referencing" class="externalLink"><code>ObjectFactory</code></a> methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#properties()">properties()</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Returns a view of all attributes and associations added to the <code>FeatureType</code> to build.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ObjectConverter.html#properties()">properties()</a></span> - Method in interface <a href="org/apache/sis/util/ObjectConverter.html" title="interface in org.apache.sis.util">ObjectConverter</a></dt>
<dd>
<div class="block">Returns the manner in which source values (<var>S</var>) are mapped to target values
 (<var>T</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#property(java.util.Map,java.lang.Object,java.lang.Class)">property(Map&lt;?, ?&gt;, Object, Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Returns the value mapped to the given key casted to the given type,
 or <code>null</code> if the map is null or does not contain a value for the key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/TypeValuePolicy.html#PROPERTY_TYPE">PROPERTY_TYPE</a></span> - <a href="org/apache/sis/metadata/TypeValuePolicy.html" title="enum in org.apache.sis.metadata">TypeValuePolicy</a></dt>
<dd>
<div class="block">The type of a property, as inferred from the
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true#getReturnType()" title="class or interface in java.lang.reflect" class="externalLink">return type</a> of the property method
 defined in the interface.</div>
</dd>
<dt><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder"><span class="typeNameLink">PropertyTypeBuilder</span></a> - Class in <a href="org/apache/sis/feature/builder/package-summary.html">org.apache.sis.feature.builder</a></dt>
<dd>
<div class="block">Describes one property of the <code>FeatureType</code> to be built by an <code>FeatureTypeBuilder</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#provider">provider</a></span> - Variable in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">The factory that created this <code>DataStore</code> instance, or <code>null</code> if unspecified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStores.html#providers()">providers()</a></span> - Static method in class <a href="org/apache/sis/storage/DataStores.html" title="class in org.apache.sis.storage">DataStores</a></dt>
<dd>
<div class="block">Returns the set of data store providers available at this method invocation time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#prune()">prune()</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Removes all references to empty properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#PSU">PSU</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Salinity measured using PSS-78.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#PUBLISHER">PUBLISHER</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the publisher (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#PURPOSE">PURPOSE</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "purpose" attribute name for the summary of the intentions with which the resource(s)
 was developed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#push(org.opengis.util.GenericName)">push(GenericName)</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns this name expanded with the specified scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#push(org.opengis.util.GenericName)">push(GenericName)</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns this name expanded with the specified scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#put(K,V)">put(K, V)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Puts the given value in cache and immediately returns the old value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#put(K,V)">put(K, V)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Associates the specified value with the specified key in this map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.Handler.html#putAndUnlock(V)">putAndUnlock(V)</a></span> - Method in interface <a href="org/apache/sis/util/collection/Cache.Handler.html" title="interface in org.apache.sis.util.collection">Cache.Handler</a></dt>
<dd>
<div class="block">Stores the given value in the cache and release the lock.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#putIfAbsent(K,V)">putIfAbsent(K, V)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">If no value is already mapped and no value is under computation for the given key, puts the given value
 in the cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#putIfAbsent(K,V)">putIfAbsent(K, V)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Associates the specified value with the specified key in this map if no value were previously associated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifierMap.html#putSpecialized(org.apache.sis.xml.IdentifierSpace,T)">putSpecialized(IdentifierSpace&lt;T&gt;, T)</a></span> - Method in interface <a href="org/apache/sis/xml/IdentifierMap.html" title="interface in org.apache.sis.xml">IdentifierMap</a></dt>
<dd>
<div class="block">Associates the given identifier with the given namespace in this map
 (optional operation).</div>
</dd>
</dl>
<a id="I:Q">
<!--   -->
</a>
<h2 class="title">Q</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#quadrupleToDouble(long,long)">quadrupleToDouble(long, long)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Converts two long bits values containing a IEEE 754 quadruple precision floating point number
 to a double precision floating point number.</div>
</dd>
<dt><a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree"><span class="typeNameLink">QuadTree</span></a> - Class in <a href="org/apache/sis/index/tree/package-summary.html">org.apache.sis.index.tree</a></dt>
<dd>
<div class="block">Implementation of Quad Tree Index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#%3Cinit%3E()">QuadTree()</a></span> - Constructor for class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Creates a quad tree with 0 capacity and depth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#%3Cinit%3E(int,int)">QuadTree(int, int)</a></span> - Constructor for class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Creates a quad tree.</div>
</dd>
<dt><a href="org/apache/sis/index/tree/QuadTreeData.html" title="interface in org.apache.sis.index.tree"><span class="typeNameLink">QuadTreeData</span></a> - Interface in <a href="org/apache/sis/index/tree/package-summary.html">org.apache.sis.index.tree</a></dt>
<dd>
<div class="block">Interface representing data stored in quad tree.</div>
</dd>
<dt><a href="org/apache/sis/index/tree/QuadTreeWriter.html" title="class in org.apache.sis.index.tree"><span class="typeNameLink">QuadTreeWriter</span></a> - Class in <a href="org/apache/sis/index/tree/package-summary.html">org.apache.sis.index.tree</a></dt>
<dd>
<div class="block">Class to save the quad tree index from file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#quality()">quality()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Verifies if the current association value mets the constraints defined by the association role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#quality()">quality()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Evaluates the quality of this attribute at this method invocation time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#quality()">quality()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Evaluates the quality of this feature at this method invocation time.</div>
</dd>
<dt><a href="org/apache/sis/measure/Quantities.html" title="class in org.apache.sis.measure"><span class="typeNameLink">Quantities</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">Provides static methods working on <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Quantity.html?is-external=true" title="class or interface in javax.measure" class="externalLink"><code>Quantity</code></a> instances.</div>
</dd>
<dt><a href="org/apache/sis/storage/Query.html" title="class in org.apache.sis.storage"><span class="typeNameLink">Query</span></a> - Class in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Definition of filtering to apply for fetching a resource subset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/Query.html#%3Cinit%3E()">Query()</a></span> - Constructor for class <a href="org/apache/sis/storage/Query.html" title="class in org.apache.sis.storage">Query</a></dt>
<dd>
<div class="block">Creates a new, initially empty, query.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#queryByBoundingBox(org.apache.sis.geometry.Envelope2D)">queryByBoundingBox(Envelope2D)</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Performs bounding box search.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#queryByPointRadius(org.apache.sis.geometry.DirectPosition2D,double)">queryByPointRadius(DirectPosition2D, double)</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Performs point radius search.</div>
</dd>
</dl>
<a id="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#RADIAN">RADIAN</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI unit for plane angles (rad).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#radians()">radians()</a></span> - Method in class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Returns the angle value in radians.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#RADIANS_PER_SECOND">RADIANS_PER_SECOND</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The unit for angular velocity (rad/s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#range()">range()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the minimal and maximal values found in this vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#range(int,int)">range(int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns the ordered values in the range from <code>start</code> inclusive to <code>end</code> exclusive.</div>
</dd>
<dt><a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure"><span class="typeNameLink">Range</span></a>&lt;<a href="org/apache/sis/measure/Range.html" title="type parameter in Range">E</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super <a href="org/apache/sis/measure/Range.html" title="type parameter in Range">E</a>&gt;&gt; - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">A set of minimum and maximum values of a certain class, allowing
 a user to determine if a value of the same class is contained inside the range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#%3Cinit%3E(java.lang.Class,E,boolean,E,boolean)">Range(Class&lt;E&gt;, E, boolean, E, boolean)</a></span> - Constructor for class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Creates a new range bounded by the given endpoint values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#%3Cinit%3E(org.apache.sis.measure.Range)">Range(Range&lt;E&gt;)</a></span> - Constructor for class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Constructs a range with the same type and the same values than the specified range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html#RANGE_MEANING_KEY">RANGE_MEANING_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.html" title="class in org.apache.sis.referencing.cs">DefaultCoordinateSystemAxis</a></dt>
<dd>
<div class="block">Key for the <code>"rangeMeaning"</code> property to be given to the constructor.</div>
</dd>
<dt><a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure"><span class="typeNameLink">RangeFormat</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">Parses and formats <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure"><code>Range</code></a> instances according the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#%3Cinit%3E()">RangeFormat()</a></span> - Constructor for class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Creates a new format for parsing and formatting <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">number ranges</a>
 using the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true#getDefault()" title="class or interface in java.util" class="externalLink">default locale</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#%3Cinit%3E(java.util.Locale)">RangeFormat(Locale)</a></span> - Constructor for class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Creates a new format for parsing and formatting <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">number ranges</a>
 using the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#%3Cinit%3E(java.util.Locale,java.lang.Class)">RangeFormat(Locale, Class&lt;?&gt;)</a></span> - Constructor for class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Creates a new format for parsing and formatting <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">ranges</a> of
 the given element type using the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">RangeFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Creates a new format for parsing and formatting <code>Range&lt;Date&gt;</code>
 using the given locale and timezone.</div>
</dd>
<dt><a href="org/apache/sis/measure/RangeFormat.Field.html" title="class in org.apache.sis.measure"><span class="typeNameLink">RangeFormat.Field</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">Constants that are used as attribute keys in the iterator returned from
 <a href="org/apache/sis/measure/RangeFormat.html#formatToCharacterIterator(java.lang.Object)"><code>RangeFormat.formatToCharacterIterator(Object)</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">RangeSet</span></a>&lt;<a href="org/apache/sis/util/collection/RangeSet.html" title="type parameter in RangeSet">E</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super <a href="org/apache/sis/util/collection/RangeSet.html" title="type parameter in RangeSet">E</a>&gt;&gt; - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">An ordered set of disjoint ranges where overlapping ranges are merged.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#%3Cinit%3E(java.lang.Class,boolean,boolean)">RangeSet(Class&lt;E&gt;, boolean, boolean)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Constructs an initially empty set of ranges.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#rank()">rank()</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Returns the rank of the tensor objects for which this instance will create parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#raster()">raster()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Creates a raster with the data specified by the last call to a <code>setData(…)</code> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#RCE">RCE</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19111/rce/1.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/GridCoverageResource.html#read(org.apache.sis.coverage.grid.GridGeometry,int...)">read(GridGeometry, int...)</a></span> - Method in interface <a href="org/apache/sis/storage/GridCoverageResource.html" title="interface in org.apache.sis.storage">GridCoverageResource</a></dt>
<dd>
<div class="block">Loads a subset of the grid coverage represented by this resource.</div>
</dd>
<dt><a href="org/apache/sis/storage/ReadOnlyStorageException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">ReadOnlyStorageException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when a <code>DataStore</code> can not perform a write operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ReadOnlyStorageException.html#%3Cinit%3E()">ReadOnlyStorageException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/ReadOnlyStorageException.html" title="class in org.apache.sis.storage">ReadOnlyStorageException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ReadOnlyStorageException.html#%3Cinit%3E(java.lang.String)">ReadOnlyStorageException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ReadOnlyStorageException.html" title="class in org.apache.sis.storage">ReadOnlyStorageException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ReadOnlyStorageException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ReadOnlyStorageException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ReadOnlyStorageException.html" title="class in org.apache.sis.storage">ReadOnlyStorageException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ReadOnlyStorageException.html#%3Cinit%3E(java.lang.Throwable)">ReadOnlyStorageException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/ReadOnlyStorageException.html" title="class in org.apache.sis.storage">ReadOnlyStorageException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#recoverableException(java.util.logging.Logger,java.lang.Class,java.lang.String,java.lang.Throwable)">recoverableException(Logger, Class&lt;?&gt;, String, Throwable)</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Invoked when a recoverable error occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#recycle(javax.xml.bind.Marshaller)">recycle(Marshaller)</a></span> - Method in class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">Declares a marshaller as available for reuse.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/MarshallerPool.html#recycle(javax.xml.bind.Unmarshaller)">recycle(Unmarshaller)</a></span> - Method in class <a href="org/apache/sis/xml/MarshallerPool.html" title="class in org.apache.sis.xml">MarshallerPool</a></dt>
<dd>
<div class="block">Declares a unmarshaller as available for reuse.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#redimension(int,int)">redimension(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Returns this operation method with different dimensions, if we are allowed to change dimensionality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html#redimension(org.opengis.referencing.operation.OperationMethod,int,int)">redimension(OperationMethod, int, int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">DefaultOperationMethod</a></dt>
<dd>
<div class="block">Returns an operation method with different dimensions, if we are allowed to change dimensionality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#reduce(int...)">reduce(int...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns a grid envelope that encompass only some dimensions of this grid envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#reduce(int...)">reduce(int...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns a grid geometry that encompass only some dimensions of the grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#reduce(org.opengis.referencing.crs.CoordinateReferenceSystem,int...)">reduce(CoordinateReferenceSystem, int...)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Gets or creates a coordinate reference system with a subset of the dimensions of the given CRS.</div>
</dd>
<dt><a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml"><span class="typeNameLink">ReferenceResolver</span></a> - Class in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Controls the (un)marshaller behavior regarding the <code>xlink</code> or <code>uuidref</code> attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#%3Cinit%3E()">ReferenceResolver()</a></span> - Constructor for class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">Creates a default <code>ReferenceResolver</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#REFERENCES">REFERENCES</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "references" attribute name for bibliographical references.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">ReferenceVerifyException</span></a> - Exception in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Thrown when a geographic identifier (or reference) has been successfully parsed but fails some verification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html#%3Cinit%3E()">ReferenceVerifyException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html" title="class in org.apache.sis.referencing.gazetteer">ReferenceVerifyException</a></dt>
<dd>
<div class="block">Constructs a new exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html#%3Cinit%3E(java.lang.String)">ReferenceVerifyException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html" title="class in org.apache.sis.referencing.gazetteer">ReferenceVerifyException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ReferenceVerifyException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html" title="class in org.apache.sis.referencing.gazetteer">ReferenceVerifyException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html#%3Cinit%3E(java.lang.Throwable)">ReferenceVerifyException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/gazetteer/ReferenceVerifyException.html" title="class in org.apache.sis.referencing.gazetteer">ReferenceVerifyException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified cause.</div>
</dd>
<dt><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer"><span class="typeNameLink">ReferencingByIdentifiers</span></a> - Class in <a href="org/apache/sis/referencing/gazetteer/package-summary.html">org.apache.sis.referencing.gazetteer</a></dt>
<dd>
<div class="block">Base class of reference systems that describe locations using geographic identifiers instead than coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#%3Cinit%3E(java.util.Map,org.apache.sis.referencing.gazetteer.ModifiableLocationType...)">ReferencingByIdentifiers(Map&lt;String, ?&gt;, ModifiableLocationType...)</a></span> - Constructor for class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Creates a reference system from the given properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#regionMatches(java.lang.CharSequence,int,java.lang.CharSequence)">regionMatches(CharSequence, int, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given text at the given offset contains the given part,
 in a case-sensitive comparison.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#regionMatches(java.lang.CharSequence,int,java.lang.CharSequence,boolean)">regionMatches(CharSequence, int, CharSequence, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given text at the given offset contains the given part,
 optionally in a case-insensitive way.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#reidentify(org.opengis.metadata.citation.Citation,java.lang.String...)">reidentify(Citation, String...)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Replaces the identifiers associated to the given authority by the given new identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#reload()">reload()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Clears the cache and notifies this <code>MultiAuthoritiesFactory</code> that all factories will need to
 be fetched again from the providers given at construction time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#reload()">reload()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Notifies this factory that the elements provided by the <code>Iterable&lt;OperationMethod&gt;</code> may have changed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#REMARKS">REMARKS</a></span> - <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Whether a property is deprecated, or other remarks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#REMARKS">REMARKS</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block"><a href="org/apache/sis/referencing/AbstractIdentifiedObject.html#getRemarks()">Remarks</a>,
 often represented by <code>REMARKS[…]</code> elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#REMARKS">REMARKS</a></span> - Static variable in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Frequently-used constant for a column of remarks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#remove()">remove()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Removes this property from the <code>FeatureTypeBuilder</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#remove()">remove()</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Removes this characteristics from the <code>AttributeTypeBuilder</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#remove()">remove()</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Removes this property from the <code>FeatureTypeBuilder</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(boolean%5B%5D,int,int)">remove(boolean[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(byte%5B%5D,int,int)">remove(byte[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(char%5B%5D,int,int)">remove(char[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(double%5B%5D,int,int)">remove(double[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(float%5B%5D,int,int)">remove(float[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#remove(int)">remove(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Removes the element at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(int%5B%5D,int,int)">remove(int[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(long%5B%5D,int,int)">remove(long[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(short%5B%5D,int,int)">remove(short[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#remove(E%5B%5D,int,int)">remove(E[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements than the given array except for the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#remove(E,E)">remove(E, E)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Removes a range of values to this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Removes the specified <code>IdentifiedObject</code> from this collection, if it is present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Removes the value mapped to the given key in the cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Removes the specified code list element from this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Removes the specified element from this set, no matter how many time it has been added.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Removes a range from this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Removes a single instance of the specified element from this set, if it is present
 Null values are considered never present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Removes the mapping for this key from this map if present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#remove(java.lang.Object,java.lang.Object)">remove(Object, Object)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">If the given key is mapped to the given old value, removes that value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/StringBuilders.html#remove(java.lang.StringBuilder,java.lang.String)">remove(StringBuilder, String)</a></span> - Static method in class <a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util">StringBuilders</a></dt>
<dd>
<div class="block">Removes every occurrences of the given string in the given buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/FeatureNaming.html#remove(org.apache.sis.storage.DataStore,org.opengis.util.GenericName)">remove(DataStore, GenericName)</a></span> - Method in class <a href="org/apache/sis/storage/FeatureNaming.html" title="class in org.apache.sis.storage">FeatureNaming</a></dt>
<dd>
<div class="block">Removes the value associated to the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/WritableAggregate.html#remove(org.apache.sis.storage.Resource)">remove(Resource)</a></span> - Method in interface <a href="org/apache/sis/storage/WritableAggregate.html" title="interface in org.apache.sis.storage">WritableAggregate</a></dt>
<dd>
<div class="block">Removes a <code>Resource</code> from this <code>Aggregate</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#removeAll(java.util.Collection)">removeAll(Collection&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Removes from this collection all of its elements that are contained in the specified collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#removeAll(java.util.Collection)">removeAll(Collection&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Adds all elements of the given collection from this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#removeColumns(int,int)">removeColumns(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns a new matrix with the same elements than this matrix except for the specified columns.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#removeDuplicated(java.lang.Object%5B%5D)">removeDuplicated(Object[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Removes the duplicated elements in the given array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#removeHandler(java.util.logging.Handler)">removeHandler(Handler)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Do nothing since this logger adapter does not support handlers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#removeIdentification(java.lang.CharSequence)">removeIdentification(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Removes a method of uniquely identifying location instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/WritableFeatureSet.html#removeIf(java.util.function.Predicate)">removeIf(Predicate&lt;? super AbstractFeature&gt;)</a></span> - Method in interface <a href="org/apache/sis/storage/WritableFeatureSet.html" title="interface in org.apache.sis.storage">WritableFeatureSet</a></dt>
<dd>
<div class="block">Removes all feature instances from this <code>FeatureSet</code> which matches the given predicate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#removeLast()">removeLast()</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Retrieves and remove the last element of this list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#removeListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">removeListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Unregisters a listener previously added to this data store for the given type of events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#removeListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">removeListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Unregisters a listener previously added for the given type of events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/Resource.html#removeListener(java.lang.Class,org.apache.sis.storage.event.StoreListener)">removeListener(Class&lt;T&gt;, StoreListener&lt;? super T&gt;)</a></span> - Method in interface <a href="org/apache/sis/storage/Resource.html" title="interface in org.apache.sis.storage">Resource</a></dt>
<dd>
<div class="block">Unregisters a listener previously added to this resource for the given type of events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#removeParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">removeParent(ModifiableLocationType)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Removes the given element from the list of parent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#removeRange(int,int)">removeRange(int, int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Removes all values in the given range of index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#removeRows(int,int)">removeRows(int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns a new matrix with the same elements than this matrix except for the specified rows.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#removeWarningListener(org.apache.sis.util.logging.WarningListener)">removeWarningListener(WarningListener)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>removeListener(listener, WarningEvent.class)</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#removeWarningListener(org.apache.sis.util.logging.WarningListener)">removeWarningListener(WarningListener&lt;? super MetadataSource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment"><code>WarningListener</code> to be replaced by <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Filter.html?is-external=true" title="class or interface in java.util.logging" class="externalLink"><code>Filter</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#removeWarningListener(org.apache.sis.util.logging.WarningListener)">removeWarningListener(WarningListener&lt;? super DataStore&gt;)</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>removeListener(listener, WarningEvent.class)</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#removeWarningListener(org.apache.sis.util.logging.WarningListener)">removeWarningListener(WarningListener&lt;? super S&gt;)</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Removes a previously registered listener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#rename(org.opengis.metadata.citation.Citation,java.lang.CharSequence...)">rename(Citation, CharSequence...)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Replaces the names associated to the given authority by the given new names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridCoverage.html#render(org.apache.sis.coverage.grid.GridExtent)">render(GridExtent)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a></dt>
<dd>
<div class="block">Returns a two-dimensional slice of grid data as a rendered image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#repeat(boolean,int)">repeat(boolean, int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a vector whose value is the content of this vector repeated <var>count</var> times.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/StringBuilders.html#repeat(java.lang.StringBuilder,char,int)">repeat(StringBuilder, char, int)</a></span> - Static method in class <a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util">StringBuilders</a></dt>
<dd>
<div class="block">Appends the given character <var>n</var> times.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/StringBuilders.html#repeat(java.lang.StringBuilder,int,char,int)">repeat(StringBuilder, int, char, int)</a></span> - Static method in class <a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util">StringBuilders</a></dt>
<dd>
<div class="block">Inserts the given character <var>n</var> times at the given position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#repetitions(int...)">repetitions(int...)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Detects repetition patterns in the values contained in this vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#replace(double%5B%5D,double,double)">replace(double[], double, double)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Replaces all occurrences of the given value by the given replacement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#replace(float%5B%5D,float,float)">replace(float[], float, float)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Replaces all occurrences of the given value by the given replacement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#replace(java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence)">replace(CharSequence, CharSequence, CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Replaces all occurrences of a given string in the given character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/StringBuilders.html#replace(java.lang.StringBuilder,char,char)">replace(StringBuilder, char, char)</a></span> - Static method in class <a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util">StringBuilders</a></dt>
<dd>
<div class="block">Replaces every occurrences of the given character in the given buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/StringBuilders.html#replace(java.lang.StringBuilder,int,int,char%5B%5D)">replace(StringBuilder, int, int, char[])</a></span> - Static method in class <a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util">StringBuilders</a></dt>
<dd>
<div class="block">Replaces the characters in a substring of the buffer with characters in the specified array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/StringBuilders.html#replace(java.lang.StringBuilder,java.lang.String,java.lang.String)">replace(StringBuilder, String, String)</a></span> - Static method in class <a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util">StringBuilders</a></dt>
<dd>
<div class="block">Replaces every occurrences of the given string in the given buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#replace(K,V)">replace(K, V)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">If the given key is mapped to any value, replaces that value with the given new value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#replace(K,V,V)">replace(K, V, V)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">If the given key is mapped to the given old value, replaces that value with the given new value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Show.html#REPLACE">REPLACE</a></span> - <a href="org/apache/sis/xml/XLink.Show.html" title="enum in org.apache.sis.xml">XLink.Show</a></dt>
<dd>
<div class="block">Load the resource in the same window, frame, pane, or other presentation context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#replaceAll(java.util.function.BiFunction)">replaceAll(BiFunction&lt;? super K, ? super V, ? extends V&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Iterates over all entries in the cache and replaces their value with the one provided by the given function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#replaceAngularUnit(org.opengis.referencing.cs.CoordinateSystem,javax.measure.Unit)">replaceAngularUnit(CoordinateSystem, Unit&lt;Angle&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns a coordinate system derived from the given one but with all angular units replaced by the given unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#replaceAxes(org.opengis.referencing.cs.CoordinateSystem,org.apache.sis.referencing.cs.AxisFilter)">replaceAxes(CoordinateSystem, AxisFilter)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns a coordinate system derived from the given one but with a modified list of axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTables.html#replaceCharSequences(org.apache.sis.util.collection.TreeTable,java.util.Locale)">replaceCharSequences(TreeTable, Locale)</a></span> - Static method in class <a href="org/apache/sis/util/collection/TreeTables.html" title="class in org.apache.sis.util.collection">TreeTables</a></dt>
<dd>
<div class="block">For every columns having values of type <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>CharSequence</code></a> or <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"><code>String</code></a>,
 converts the values to localized <code>String</code>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/WritableFeatureSet.html#replaceIf(java.util.function.Predicate,java.util.function.UnaryOperator)">replaceIf(Predicate&lt;? super AbstractFeature&gt;, UnaryOperator&lt;AbstractFeature&gt;)</a></span> - Method in interface <a href="org/apache/sis/storage/WritableFeatureSet.html" title="interface in org.apache.sis.storage">WritableFeatureSet</a></dt>
<dd>
<div class="block">Updates all feature instances from this <code>FeatureSet</code> which match the given predicate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#replaceLinearUnit(org.opengis.referencing.cs.CoordinateSystem,javax.measure.Unit)">replaceLinearUnit(CoordinateSystem, Unit&lt;Length&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns a coordinate system derived from the given one but with all linear units replaced by the given unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#reset()">reset()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Resets this object state as if it was just created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#resetLevelColors(boolean)">resetLevelColors(boolean)</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Resets the colors setting to its default value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(boolean%5B%5D,int)">resize(boolean[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but
 specified <code>length</code>, truncating or padding with <code>false</code> if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(byte%5B%5D,int)">resize(byte[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but
 specified <code>length</code>, truncating or padding with zeros if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(char%5B%5D,int)">resize(char[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but
 specified <code>length</code>, truncating or padding with zeros if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(double%5B%5D,int)">resize(double[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but
 specified <code>length</code>, truncating or padding with zeros if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(float%5B%5D,int)">resize(float[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but
 specified <code>length</code>, truncating or padding with zeros if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#resize(int)">resize(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Sets the list size to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(int%5B%5D,int)">resize(int[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but
 specified <code>length</code>, truncating or padding with zeros if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#resize(long...)">resize(long...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Sets the size of this grid extent to the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(long%5B%5D,int)">resize(long[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but
 specified <code>length</code>, truncating or padding with zeros if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(short%5B%5D,int)">resize(short[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but
 specified <code>length</code>, truncating or padding with zeros if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#resize(E%5B%5D,int)">resize(E[], int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns an array containing the same elements as the given <code>array</code> but with the
 specified <code>length</code>, truncating or padding with <code>null</code> if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#resize(org.apache.sis.coverage.grid.GridExtent,double...)">resize(GridExtent, double...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Requests a grid geometry where cell sizes have been scaled by the given factors, which result in a change of grid size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#resizeAffine(org.opengis.referencing.operation.Matrix,int,int)">resizeAffine(Matrix, int, int)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Returns a matrix with the same content than the given matrix but a different size, assuming an affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#resolution">resolution</a></span> - Variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">An <em>estimation</em> of the grid resolution, in units of the CRS axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#RESOLUTION">RESOLUTION</a></span> - Static variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">A bitmask to specify the validity of the grid resolution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html#RESOLUTION">RESOLUTION</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Dimension</a></dt>
<dd>
<div class="block">The attribute name for a further refinement of the geospatial bounding box
 (<em>Suggested</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#resolve(int)">resolve(int)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Ensures that the <var>n</var> first objects in this set are created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#resolve(org.apache.sis.xml.MarshalContext,java.lang.Class,java.util.UUID)">resolve(MarshalContext, Class&lt;T&gt;, UUID)</a></span> - Method in class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">Returns an object of the given type for the given <code>uuid</code> attribute, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ReferenceResolver.html#resolve(org.apache.sis.xml.MarshalContext,java.lang.Class,org.apache.sis.xml.XLink)">resolve(MarshalContext, Class&lt;T&gt;, XLink)</a></span> - Method in class <a href="org/apache/sis/xml/ReferenceResolver.html" title="class in org.apache.sis.xml">ReferenceResolver</a></dt>
<dd>
<div class="block">Returns an object of the given type for the given <code>xlink</code> attribute, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#RESOLVER">RESOLVER</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Allows client code to replace <code>xlink</code> or <code>uuidref</code> attributes by the actual objects to use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#resolveWraparoundAxis(int,int,double)">resolveWraparoundAxis(int, int, double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Tries to remove discontinuities in coordinates values caused by anti-meridian crossing.</div>
</dd>
<dt><a href="org/apache/sis/storage/Resource.html" title="interface in org.apache.sis.storage"><span class="typeNameLink">Resource</span></a> - Interface in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Provides access to geospatial data in a <code>DataStore</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#RESOURCE">RESOURCE</a></span> - <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">An internal resource.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/ResourceInternationalString.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">ResourceInternationalString</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">An international string backed by a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>ResourceBundle</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/ResourceInternationalString.html#%3Cinit%3E(java.lang.String,java.lang.String)">ResourceInternationalString(String, String)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/ResourceInternationalString.html" title="class in org.apache.sis.util.iso">ResourceInternationalString</a></dt>
<dd>
<div class="block">Creates a new international string from the specified resource bundle and key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/ResourceInternationalString.html#resources">resources</a></span> - Variable in class <a href="org/apache/sis/util/iso/ResourceInternationalString.html" title="class in org.apache.sis.util.iso">ResourceInternationalString</a></dt>
<dd>
<div class="block">The name of the resource bundle, as a fully qualified class name.</div>
</dd>
<dt><a href="org/apache/sis/console/ResourcesDownloader.html" title="class in org.apache.sis.console"><span class="typeNameLink">ResourcesDownloader</span></a> - Class in <a href="org/apache/sis/console/package-summary.html">org.apache.sis.console</a></dt>
<dd>
<div class="block">A provider for data licensed under different terms of use than the Apache license.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/ResourcesDownloader.html#%3Cinit%3E()">ResourcesDownloader()</a></span> - Constructor for class <a href="org/apache/sis/console/ResourcesDownloader.html" title="class in org.apache.sis.console">ResourcesDownloader</a></dt>
<dd>
<div class="block">Creates a new installation scripts provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,org.opengis.metadata.citation.Role)">Responsible(String, String, String, String, String, String, Role)</a></span> - Constructor for class <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Responsible</a></dt>
<dd>
<div class="block">Creates a new set of attribute names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#restoreContextualUnit(javax.measure.Unit,javax.measure.Unit)">restoreContextualUnit(Unit&lt;?&gt;, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Restores the contextual unit to its previous state before the call to <a href="org/apache/sis/io/wkt/Formatter.html#addContextualUnit(javax.measure.Unit)"><code>Formatter.addContextualUnit(Unit)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#retainAll(java.util.Collection)">retainAll(Collection&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Retains only the elements of the given collection in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#reverse()">reverse()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a view which contains the values of this vector in reverse order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#reverse(int%5B%5D)">reverse(int[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Reverses the order of elements in the given array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#reverse(java.lang.Object%5B%5D)">reverse(Object[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Reverses the order of elements in the given array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#reverseRotation()">reverseRotation()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Inverts in-place the sign of rotation terms (<a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#rX"><code>BursaWolfParameters.rX</code></a>, <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#rY"><code>BursaWolfParameters.rY</code></a>, <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#rZ"><code>BursaWolfParameters.rZ</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#reverseRotation()">reverseRotation()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Inverts in-place the sign of rotation terms and their derivative.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.html#rewind()">rewind()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.html" title="class in org.apache.sis.image">PixelIterator</a></dt>
<dd>
<div class="block">Restores the iterator to the start position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxesConvention.html#RIGHT_HANDED">RIGHT_HANDED</a></span> - <a href="org/apache/sis/referencing/cs/AxesConvention.html" title="enum in org.apache.sis.referencing.cs">AxesConvention</a></dt>
<dd>
<div class="block">Axes are ordered for a <cite>right-handed</cite> coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#rms()">rms()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the root mean square, or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>NaN</code></a> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#ROLE">ROLE</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Responsible</a></dt>
<dd>
<div class="block">The attribute name for the responsible's role, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#roles()">roles()</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Returns the roles that the attribute play in the pre-defined operations managed by <code>AttributeTypeBuilder</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#round()">round()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns this fraction rounded toward nearest integer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#rounding(org.apache.sis.coverage.grid.GridRoundingMode)">rounding(GridRoundingMode)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Controls behavior of rounding from floating point values to integers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#run()">run()</a></span> - Method in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">Runs the command.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#rX">rX</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">X-axis rotation in arc-seconds (EPSG:8608), sign following the <cite>Position Vector</cite> convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#rY">rY</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Y-axis rotation in arc-seconds (EPSG:8609), sign following the <cite>Position Vector</cite> convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#rZ">rZ</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Z-axis rotation in arc-seconds (EPSG:8610), sign following the <cite>Position Vector</cite> convention.</div>
</dd>
</dl>
<a id="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#S57">S57</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The <a href="http://www.iho.int/iho_pubs/standard/S-57Ed3.1/31Main.pdf">IHO transfer standard
 for digital hydrographic data</a> specification.</div>
</dd>
<dt><a href="org/apache/sis/measure/Salinity.html" title="interface in org.apache.sis.measure"><span class="typeNameLink">Salinity</span></a> - Interface in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">The Practical Salinity Scale (PSS-78).</div>
</dd>
<dt><a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage"><span class="typeNameLink">SampleDimension</span></a> - Class in <a href="org/apache/sis/coverage/package-summary.html">org.apache.sis.coverage</a></dt>
<dd>
<div class="block">Describes the data values in a coverage (the range).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#%3Cinit%3E(org.opengis.util.GenericName,java.lang.Number,java.util.Collection)">SampleDimension(GenericName, Number, Collection&lt;? extends Category&gt;)</a></span> - Constructor for class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Creates a sample dimension with the specified name and categories.</div>
</dd>
<dt><a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage"><span class="typeNameLink">SampleDimension.Builder</span></a> - Class in <a href="org/apache/sis/coverage/package-summary.html">org.apache.sis.coverage</a></dt>
<dd>
<div class="block">A mutable builder for creating an immutable <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage"><code>SampleDimension</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#scale(double)">scale(double)</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Multiplies the statistics by the given factor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#scale(double...)">scale(double...)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Creates an affine transform which applies the given scale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#SCALE_FACTOR">SCALE_FACTOR</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the <cite>scale factor</cite> parameter (symbol: <var>k₀</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#SCHEMAS">SCHEMAS</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Specifies the root URL of schemas.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#scope()">scope()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns the scope (name space) in which this name is local.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#scope()">scope()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns the scope (name space) in which this name is local.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#scope()">scope()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Returns the scope (name space) in which this name is local.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultScopedName.html#scope()">scope()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso">DefaultScopedName</a></dt>
<dd>
<div class="block">Returns the scope (name space) in which this name is local.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#SCOPE">SCOPE</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">CRS, datum or operation <a href="org/apache/sis/referencing/AbstractReferenceSystem.html#getScope()">scope</a>,
 often represented by <code>SCOPE[…]</code> elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#search(java.lang.Object)">search(Object)</a></span> - Method in class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="block">Searches for the given metadata in the database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#SECOND">SECOND</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI base unit for durations (s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.Field.html#SECONDS">SECONDS</a></span> - Static variable in class <a href="org/apache/sis/measure/AngleFormat.Field.html" title="class in org.apache.sis.measure">AngleFormat.Field</a></dt>
<dd>
<div class="block">Identifies the seconds field, including the seconds symbol (if any).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#SEMI_MAJOR">SEMI_MAJOR</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the <cite>semi-major axis length</cite> parameter (symbol: <var>a</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#SEMI_MINOR">SEMI_MINOR</a></span> - <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Maps the <cite>semi-minor axis length</cite> parameter (symbol: <var>b</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html#semiMajorAxisDifference(org.opengis.referencing.datum.Ellipsoid)">semiMajorAxisDifference(Ellipsoid)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></dt>
<dd>
<div class="block">Returns the difference between the semi-major axis length of two ellipsoids.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/KeyNamePolicy.html#SENTENCE">SENTENCE</a></span> - <a href="org/apache/sis/metadata/KeyNamePolicy.html" title="enum in org.apache.sis.metadata">KeyNamePolicy</a></dt>
<dd>
<div class="block">The keys in the map are sentences inferred from the UML identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#separate()">separate()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Separates the math transform specified at construction time for given dimension indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#separator">separator</a></span> - Variable in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">The separator between row and column in parameter names for tensor elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#set(int,java.lang.Integer)">set(int, Integer)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Sets the element at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#set(int,java.lang.Number)">set(int, Number)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Sets the number at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#set(org.opengis.util.MemberName,java.lang.Object)">set(MemberName, Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Sets the value for the attribute of the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setAbstract(boolean)">setAbstract(boolean)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets whether the feature type to create will be abstract.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setAbstract(org.opengis.util.InternationalString)">setAbstract(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets a brief narrative summary of the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#setAccessConstraints(java.util.Collection)">setAccessConstraints(Collection&lt;? extends Restriction&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Sets the access constraints applied to assure the protection of privacy or intellectual property,
 and any special restrictions or limitations on obtaining the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setAccessProperties(org.opengis.metadata.distribution.StandardOrderProcess)">setAccessProperties(StandardOrderProcess)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets information about the availability of the service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html#setAccuracyReports(java.util.Collection)">setAccuracyReports(Collection&lt;? extends Element&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCP</a></dt>
<dd>
<div class="block">Sets the accuracy of a ground control point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setAcquisitionInformation(java.util.Collection)">setAcquisitionInformation(Collection&lt;? extends AcquisitionInformation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets information about the acquisition of the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#setAcquisitionPlans(java.util.Collection)">setAcquisitionPlans(Collection&lt;? extends Plan&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Sets the plan as implemented by the acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#setAcquisitionRequirements(java.util.Collection)">setAcquisitionRequirements(Collection&lt;? extends Requirement&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Sets the requirement the data acquisition intends to satisfy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setActuate(org.apache.sis.xml.XLink.Actuate)">setActuate(XLink.Actuate)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets the desired timing of traversal from the starting resource to the ending resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#setAdditionalDocumentation(java.util.Collection)">setAdditionalDocumentation(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Sets the publications that describe usage of data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#setAdditionalDocumentation(java.util.Collection)">setAdditionalDocumentation(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Sets additional documentation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setAdditionalDocumentations(java.util.Collection)">setAdditionalDocumentations(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets other documentation associated with the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setAddress(org.opengis.metadata.citation.Address)">setAddress(Address)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setAddresses(java.util.Collection)"><code>DefaultContact.setAddresses(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setAddresses(java.util.Collection)">setAddresses(Collection&lt;? extends Address&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Sets the physical and email addresses at which the organization or individual may be contacted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#setAdministrativeArea(org.opengis.util.InternationalString)">setAdministrativeArea(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Sets the state, province of the location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#setAggregateDataSetIdentifier(org.opengis.metadata.Identifier)">setAggregateDataSetIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAggregateInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by an identifier of <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#getAggregateDataSetName()"><code>DefaultAggregateInformation.getAggregateDataSetName()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html#setAggregateDataSetName(org.opengis.metadata.citation.Citation)">setAggregateDataSetName(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAggregateInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#setName(org.opengis.metadata.citation.Citation)"><code>DefaultAssociatedResource.setName(Citation)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setAggregationInfo(java.util.Collection)">setAggregationInfo(Collection&lt;? extends AggregateInformation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setAssociatedResources(java.util.Collection)"><code>AbstractIdentification.setAssociatedResources(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#setAlgorithms(java.util.Collection)">setAlgorithms(Collection&lt;? extends Algorithm&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Sets the details of the methodology by which geographic information was derived from the
 instrument readings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#setAll(java.lang.Object...)">setAll(Object...)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Sets all attribute values in this record, in attribute order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setAll(org.apache.sis.feature.DefaultFeatureType)">setAll(DefaultFeatureType)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets all properties of this builder to the values of the given feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.html#setAllowedColumns(java.util.Set)">setAllowedColumns(Set&lt;FeatureFormat.Column&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></dt>
<dd>
<div class="block">Sets all columns that may be shown in the tables to format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#setAlternateForm(boolean)">setAlternateForm(boolean)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Sets whether this <code>RangeFormat</code> shall use the alternate form at formatting time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setAlternateTitles(java.util.Collection)">setAlternateTitles(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the short name or other language name by which the cited information is known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setAlternativeMetadataReferences(java.util.Collection)">setAlternativeMetadataReferences(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Set reference(s) to alternative metadata or metadata in a non-ISO standard for the same resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#setAmendmentNumber(org.opengis.util.InternationalString)">setAmendmentNumber(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Sets the amendment number of the format version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#setAngularDistance(java.lang.Double)">setAngularDistance(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Sets the angular sampling measure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#setApplicationProfile(java.lang.String)">setApplicationProfile(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Sets the name of an application profile that can be used with the online resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setApplicationSchemaInfo(java.util.Collection)">setApplicationSchemaInfo(Collection&lt;? extends ApplicationSchemaInformation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Returns information about the conceptual schema of a dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setArcRole(java.net.URI)">setArcRole(URI)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets a URI reference for some description of the arc role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html#setAreaOfInterest(org.opengis.metadata.extent.Extent)">setAreaOfInterest(Extent)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationContext</a></dt>
<dd>
<div class="block">Sets the spatiotemporal area of interest, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html#setAreaOfInterest(org.opengis.metadata.extent.GeographicBoundingBox)">setAreaOfInterest(GeographicBoundingBox)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationContext</a></dt>
<dd>
<div class="block">Sets the geographic component of the area of interest, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setAssociatedResources(java.util.Collection)">setAssociatedResources(Collection&lt;? extends DefaultAssociatedResource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets associated resource information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#setAssociationType(org.opengis.metadata.identification.AssociationType)">setAssociationType(AssociationType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Sets the type of relation between the resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#setAttributeDescription(org.opengis.util.RecordType)">setAttributeDescription(RecordType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Sets the description of the attribute described by the measurement value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#setAttributeGroups(java.util.Collection)">setAttributeGroups(Collection&lt;? extends DefaultAttributeGroup&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Sets information on attribute groups of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#setAttributeInstances(java.util.Set)">setAttributeInstances(Set&lt;? extends AttributeType&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Sets the attribute instances to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#setAttributes(java.util.Collection)">setAttributes(Collection&lt;? extends RangeDimension&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html" title="class in org.apache.sis.metadata.iso.content">DefaultAttributeGroup</a></dt>
<dd>
<div class="block">Sets information on an attribute of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#setAttributes(java.util.Set)">setAttributes(Set&lt;? extends AttributeType&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Sets the attribute types to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#setAuthority(org.opengis.metadata.citation.Citation)">setAuthority(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Sets the person or party responsible for maintenance of the namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#setAuthorityCodes(java.lang.String...)">setAuthorityCodes(String...)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Sets the content of this collection to the object identified by the given codes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#setAverageAirTemperature(java.lang.Double)">setAverageAirTemperature(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Sets the average air temperature along the flight pass during the photo flight.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#setAxisDimensionProperties(java.util.List)">setAxisDimensionProperties(List&lt;? extends Dimension&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Sets the information about spatial-temporal axis properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#setBackground(java.lang.CharSequence,java.lang.Number)">setBackground(CharSequence, Number)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Adds a qualitative category and marks that category as the background value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setBandBoundaryDefinition(org.opengis.metadata.content.BandDefinition)">setBandBoundaryDefinition(BandDefinition)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets designation of criterion for defining maximum and minimum wavelengths for a spectral band.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#setBase(double)">setBase(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Sets the logarithm or exponent base in the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setBitsPerValue(java.lang.Integer)">setBitsPerValue(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the maximum number of significant bits in the uncompressed representation
 for the value in each band of each pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#setBorderWidth(int)">setBorderWidth(int)</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Sets the "width" of the border to drawn around the table, in number of lines.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setBoundMax(java.lang.Double)">setBoundMax(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the longest wavelength that the sensor is capable of collecting within a designated band.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setBoundMin(java.lang.Double)">setBoundMin(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the shortest wavelength that the sensor is capable of collecting within a designated band.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#setBounds(double,double,double,double)">setBounds(double, double, double, double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Sets the bounding box to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#setBounds(java.util.Date,java.util.Date)">setBounds(Date, Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Sets the temporal extent to the specified values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#setBounds(org.opengis.geometry.Envelope)">setBounds(Envelope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Sets the bounding box to the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#setBounds(org.opengis.geometry.Envelope)">setBounds(Envelope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Sets this spatiotemporal extent to values inferred from the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#setBounds(org.opengis.geometry.Envelope)">setBounds(Envelope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Sets this temporal extent to values inferred from the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#setBounds(org.opengis.geometry.Envelope)">setBounds(Envelope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Sets this vertical extent to values inferred from the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#setBounds(org.opengis.metadata.extent.GeographicBoundingBox)">setBounds(GeographicBoundingBox)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Sets the bounding box to the same values than the specified box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setBoundUnits(javax.measure.Unit)">setBoundUnits(Unit&lt;Length&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets a new units in which sensor wavelengths are expressed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setCameraCalibrationInformationAvailable(java.lang.Boolean)">setCameraCalibrationInformationAvailable(Boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the indication of whether or not constants are available which allow for camera calibration corrections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#setCapacity(int)">setCapacity(int)</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Sets the capacity of node in the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#setCellAlignment(byte)">setCellAlignment(byte)</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Sets the alignment of the text inside the current cell.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#setCellGeometry(org.opengis.metadata.spatial.CellGeometry)">setCellGeometry(CellGeometry)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Sets identification of grid data as point or cell.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#setCenterPoint(org.opengis.geometry.primitive.Point)">setCenterPoint(Point)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Sets the center point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setCharacterSet(org.opengis.metadata.identification.CharacterSet)">setCharacterSet(CharacterSet)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()">DefaultMetadata.getLocalesAndCharsets()</a>.put(…, newValue)</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setCharacterSets(java.util.Collection)">setCharacterSets(Collection&lt;? extends Charset&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by putting values in <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()"><code>DefaultMetadata.getLocalesAndCharsets()</code></a> map.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#setCharacterSets(java.util.Collection)">setCharacterSets(Collection&lt;? extends CharacterSet&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by putting values in <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#getLocalesAndCharsets()"><code>DefaultDataIdentification.getLocalesAndCharsets()</code></a> map.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#setCheckPointAvailable(boolean)">setCheckPointAvailable(boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Sets an indication of whether or not geographic position points are available to test the
 accuracy of the georeferenced grid data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#setCheckPointDescription(org.opengis.util.InternationalString)">setCheckPointDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Sets the description of geographic position points used to test the accuracy of the
 georeferenced grid data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#setCheckPoints(java.util.Collection)">setCheckPoints(Collection&lt;? extends GCP&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Sets the geographic references used to validate georectification of the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setChildOperations(java.util.Collection)">setChildOperations(Collection&lt;? extends Operation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the sub-missions that make up part of a larger mission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setCitation(org.opengis.metadata.citation.Citation)">setCitation(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the identification of the mission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#setCitation(org.opengis.metadata.citation.Citation)">setCitation(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Sets the identification of authority requesting target collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#setCitation(org.opengis.metadata.citation.Citation)">setCitation(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Sets the source where information about the platform is described.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#setCitation(org.opengis.metadata.citation.Citation)">setCitation(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Sets the identification of reference or guidance material for the requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setCitation(org.opengis.metadata.citation.Citation)">setCitation(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets the citation for the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html#setCitation(org.opengis.metadata.citation.Citation)">setCitation(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultAlgorithm</a></dt>
<dd>
<div class="block">Sets the information identifying the algorithm and version or date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#setCitations(java.util.Collection)">setCitations(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Sets the complete citation of the instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setCitedResponsibleParties(java.util.Collection)">setCitedResponsibleParties(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the role, name, contact and position information for an individual or organization
 that is responsible for the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#setCity(org.opengis.util.InternationalString)">setCity(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Sets the city of the location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#setClassification(org.opengis.metadata.constraint.Classification)">setClassification(Classification)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Sets the name of the handling restrictions on the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#setClassificationSystem(org.opengis.util.InternationalString)">setClassificationSystem(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Sets the name of the classification system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#setClassName(org.opengis.util.InternationalString)">setClassName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Sets a label for the keyword category in natural language.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#setClipToValidArea(boolean)">setClipToValidArea(boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Sets whether the decoded locations should be clipped to the valid area.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setCloudCoverPercentage(java.lang.Double)">setCloudCoverPercentage(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#setCode(java.lang.String)">setCode(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Sets the alphanumeric value identifying an instance in the namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#setCodeSpace(java.lang.String)">setCodeSpace(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Sets the identifier or namespace in which the code is valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#setCodeSpace(org.opengis.metadata.citation.Citation,java.lang.String)">setCodeSpace(Citation, String)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Sets the <code>Identifier</code> authority and code space.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#setCollectionIdentification(java.lang.Integer)">setCollectionIdentification(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Sets the identifier of the GCP collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#setCollectionName(org.opengis.util.InternationalString)">setCollectionName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Sets the name of the GCP collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setCollectiveTitle(org.opengis.util.InternationalString)">setCollectiveTitle(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Removed as of ISO 19115:2014.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setColors(org.apache.sis.io.wkt.Colors)">setColors(Colors)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets the colors to use for syntax coloring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#setColors(org.apache.sis.io.wkt.Colors)">setColors(Colors)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Sets the colors for an output on X3.64 compatible terminal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#setColumns(org.apache.sis.util.collection.TableColumn...)">setColumns(TableColumn&lt;?&gt;...)</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Sets the table columns to parse and format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#setColumnSeparatorPattern(java.lang.String)">setColumnSeparatorPattern(String)</a></span> - Method in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">Sets the pattern of the characters to insert between the columns.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#setCompliant(java.lang.Boolean)">setCompliant(Boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Sets whether or not the cited feature catalogue complies with ISO 19110.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setCompressionGenerationQuantity(java.lang.Integer)">setCompressionGenerationQuantity(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the count of the number the number of lossy compression cycles performed on the image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#setConceptIdentifier(java.net.URI)">setConceptIdentifier(URI)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Sets the URI of concept in the ontology specified by the <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#getOntology()">ontology</a> citation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setCondition(org.opengis.util.InternationalString)">setCondition(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the condition under which the extended element is mandatory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#setConnectPoints(java.util.Collection)">setConnectPoints(Collection&lt;? extends OnlineResource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Sets the handle for accessing the service interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#setConstraintApplicationScope(org.opengis.metadata.quality.Scope)">setConstraintApplicationScope(Scope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Sets the spatial and / or temporal extents and or levels of the application of the constraints restrictions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#setConstraintLanguage(java.lang.String)">setConstraintLanguage(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Sets the formal language used in application schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#setContactInfo(java.util.Collection)">setContactInfo(Collection&lt;? extends Contact&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></dt>
<dd>
<div class="block">Sets the contact information for the party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#setContactInfo(org.opengis.metadata.citation.Contact)">setContactInfo(Contact)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#setContactInfo(java.util.Collection)"><code>AbstractParty.setContactInfo(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setContactInstructions(org.opengis.util.InternationalString)">setContactInstructions(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Sets supplemental instructions on how or when to contact the individual or organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setContacts(java.util.Collection)">setContacts(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the parties responsible for the metadata information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setContacts(java.util.Collection)">setContacts(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Sets identification of, and means of communicating with,
 person(s) and organization(s) with responsibility for maintaining the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setContactType(org.opengis.util.InternationalString)">setContactType(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Sets new type of the contact.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setContainsChain(java.util.Collection)">setContainsChain(Collection&lt;? extends DefaultOperationChainMetadata&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets the information about the chain applied by the service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setContainsOperations(java.util.Collection)">setContainsOperations(Collection&lt;? extends DefaultOperationMetadata&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets information(s) about the operations that comprise the service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setContentInfo(java.util.Collection)">setContentInfo(Collection&lt;? extends ContentInformation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets information about the feature catalogue and describes the coverage and
 image data characteristics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#setContentLevel(org.apache.sis.parameter.ParameterFormat.ContentLevel)">setContentLevel(ParameterFormat.ContentLevel)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Sets the amount of information to put in the table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#setContentType(org.opengis.metadata.content.CoverageContentType)">setContentType(CoverageContentType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, moved to <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#setContentTypes(java.util.Collection)"><code>DefaultAttributeGroup.setContentTypes(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#setContentTypes(java.util.Collection)">setContentTypes(Collection&lt;? extends CoverageContentType&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html" title="class in org.apache.sis.metadata.iso.content">DefaultAttributeGroup</a></dt>
<dd>
<div class="block">Sets the types of information represented by the value(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#setContext(org.opengis.metadata.acquisition.Context)">setContext(Context)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Sets the meaning of the event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#setControlPoint(int%5B%5D,double%5B%5D)">setControlPoint(int[], double[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Sets a single matching control point pair.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#setControlPoint(int,int,double...)">setControlPoint(int, int, double...)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Sets a single matching control point pair.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#setControlPointAvailable(boolean)">setControlPointAvailable(boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Sets an indication of whether or not control point(s) exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#setControlPoints(java.util.Map)">setControlPoints(Map&lt;? extends Position, ? extends Position&gt;)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Sets all matching control point pairs, overwriting any previous setting.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#setControlPoints(org.apache.sis.math.Vector...)">setControlPoints(Vector...)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Sets all control points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setConvention(org.apache.sis.io.wkt.Convention)">setConvention(Convention)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets the convention for parsing and formatting WKT elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#setCoordinate(double...)">setCoordinate(double...)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Sets the coordinate values along all dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#setCoordinateReferenceSystem(org.opengis.referencing.crs.CoordinateReferenceSystem)">setCoordinateReferenceSystem(CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Sets the coordinate reference system in which the coordinate is given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#setCoordinateReferenceSystem(org.opengis.referencing.crs.CoordinateReferenceSystem)">setCoordinateReferenceSystem(CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Sets the coordinate reference system in which the coordinate is given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#setCoordinateReferenceSystem(org.opengis.referencing.crs.CoordinateReferenceSystem)">setCoordinateReferenceSystem(CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Sets the coordinate reference system in which the coordinate are given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#setCoordinateReferenceSystem(org.opengis.referencing.crs.CoordinateReferenceSystem)">setCoordinateReferenceSystem(CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Sets the coordinate reference system in which the coordinate is given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#setCoordinateReferenceSystem(org.opengis.referencing.crs.CoordinateReferenceSystem)">setCoordinateReferenceSystem(CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Sets the coordinate reference system in which the coordinate are given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#setCoordinateReferenceSystem(org.opengis.referencing.ReferenceSystem)">setCoordinateReferenceSystem(ReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Sets the coordinate reference system in which the ground control points are defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#setCornerPoints(java.util.List)">setCornerPoints(List&lt;? extends Point&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Sets the corner points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#setCountry(org.opengis.util.InternationalString)">setCountry(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Sets the country of the physical address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setCoupledResources(java.util.Collection)">setCoupledResources(Collection&lt;? extends DefaultCoupledResource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets further description(s) of the data coupling in the case of tightly coupled services.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setCouplingType(org.opengis.util.CodeList)">setCouplingType(CodeList&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets the type of coupling between service and associated data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setCredits(java.util.Collection)">setCredits(Collection&lt;? extends String&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets the recognition of those who contributed to the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setCRS(org.opengis.referencing.crs.CoordinateReferenceSystem)">setCRS(CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the coordinate reference system that characterizes the values of this attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setCurrency(java.util.Currency)">setCurrency(Currency)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Sets the monetary units of the <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getFees()"><code>fees</code></a> (as specified in ISO 4217).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#setData(int,java.nio.Buffer...)">setData(int, Buffer...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Sets the data as NIO buffers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#setData(java.awt.image.DataBuffer)">setData(DataBuffer)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Sets the data as a Java2D buffer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#setData(org.apache.sis.math.Vector...)">setData(Vector...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Sets the data as vectors.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/Configuration.html#setDatabase(java.util.function.Supplier)">setDatabase(Supplier&lt;DataSource&gt;)</a></span> - Method in class <a href="org/apache/sis/setup/Configuration.html" title="class in org.apache.sis.setup">Configuration</a></dt>
<dd>
<div class="block">Specifies the data source to use if no <code>"jdbc/SpatialMetadata"</code> source is binded to a JNDI environment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setDataQualityInfo(java.util.Collection)">setDataQualityInfo(Collection&lt;? extends DataQuality&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets overall assessment of quality of a resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#setDataset(java.lang.String)">setDataset(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Sets the dataset to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setDataSetUri(java.lang.String)">setDataSetUri(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getIdentificationInfo()"><code>DefaultMetadata.getIdentificationInfo()</code></a>
    followed by <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#getCitation()"><code>AbstractIdentification.getCitation()</code></a>
    followed by <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setOnlineResources(java.util.Collection)"><code>DefaultCitation.setOnlineResources(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setDataType(org.opengis.metadata.Datatype)">setDataType(Datatype)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the code which identifies the kind of value provided in the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html#setDate(java.util.Date)">setDate(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitationDate</a></dt>
<dd>
<div class="block">Sets the reference date for the cited resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setDate(java.util.Date)">setDate(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115-1:2014, replaced by <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setStepDateTime(org.opengis.temporal.TemporalPrimitive)"><code>DefaultProcessStep.setStepDateTime(TemporalPrimitive)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setDateInfo(java.util.Collection)">setDateInfo(Collection&lt;? extends CitationDate&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the date(s) associated with the metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setDateOfNextUpdate(java.util.Date)">setDateOfNextUpdate(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#setDates(java.util.Collection)">setDates(Collection&lt;? extends Date&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Sets the date or range of dates on which a data quality measure was applied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setDates(java.util.Collection)">setDates(Collection&lt;? extends CitationDate&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the reference date for the cited resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setDateStamp(java.util.Date)">setDateStamp(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setDateInfo(java.util.Collection)"><code>DefaultMetadata.setDateInfo(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html#setDateType(org.opengis.metadata.citation.DateType)">setDateType(DateType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitationDate.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitationDate</a></dt>
<dd>
<div class="block">Sets the event used for reference date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setDefaultCardinality(int,int)">setDefaultCardinality(int, int)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setDefaultMultiplicity(int,int)"><code>FeatureTypeBuilder.setDefaultMultiplicity(int, int)</code></a>. A cardinality is the actual number of elements
 in a set, while multiplicity is the range of cardinality that a set can have.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#setDefaultCRS(org.opengis.referencing.crs.CoordinateReferenceSystem)">setDefaultCRS(CoordinateReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Sets the coordinate reference system to use if no CRS is explicitly associated to a given <code>DirectPosition</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setDefaultMultiplicity(int,int)">setDefaultMultiplicity(int, int)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets the default minimum and maximum number of next attributes and associations to add.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setDefaultValue(V)">setDefaultValue(V)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the default value for the attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setDefaultValue(V)">setDefaultValue(V)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets the default value for the characteristic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setDefinition(java.lang.CharSequence)">setDefinition(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets a concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setDefinition(java.lang.CharSequence)">setDefinition(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets a concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setDefinition(java.lang.CharSequence)">setDefinition(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets a concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setDefinition(java.lang.CharSequence)">setDefinition(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets a concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setDefinition(java.lang.CharSequence)">setDefinition(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets a concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#setDefinition(java.lang.CharSequence)">setDefinition(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Sets a concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#setDefinition(java.lang.CharSequence)">setDefinition(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Sets the way in which location instances are defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#setDefinition(org.opengis.util.InternationalString)">setDefinition(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Sets the description of a set of specific range elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setDefinition(org.opengis.util.InternationalString)">setDefinition(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the definition of the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#setDeliveryPoints(java.util.Collection)">setDeliveryPoints(Collection&lt;? extends String&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Sets the address line for the location (as described in ISO 11180, Annex A).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#setDenominator(long)">setDenominator(long)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Sets the denominator value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setDensities(java.util.Collection)">setDensities(Collection&lt;? extends Double&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setDensity(java.lang.Double)"><code>DefaultMedium.setDensity(Double)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setDensity(java.lang.Double)">setDensity(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Sets density at which the data is recorded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setDensityUnits(javax.measure.Unit)">setDensityUnits(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Sets the units of measure for the recording density.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#setDependsOn(java.util.List)">setDependsOn(List&lt;? extends DefaultOperationMetadata&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Sets the list of operation that must be completed before current operation is invoked.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setDeprecated(boolean)">setDeprecated(boolean)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets whether the type is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setDeprecated(boolean)">setDeprecated(boolean)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets whether the type is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setDeprecated(boolean)">setDeprecated(boolean)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets whether the type is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setDeprecated(boolean)">setDeprecated(boolean)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets whether the type is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setDeprecated(boolean)">setDeprecated(boolean)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets whether the type is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#setDeprecated(boolean)">setDeprecated(boolean)</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Sets whether the type is deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#setDeprecated(boolean)">setDeprecated(boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Sets whether the next <code>Identifier</code> or <code>IdentifiedObject</code>s to create shall be considered deprecated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#setDepth(int)">setDepth(int)</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Sets the maximum depth of the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setDescription(java.lang.CharSequence)">setDescription(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets optional information beyond that required for concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setDescription(java.lang.CharSequence)">setDescription(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets optional information beyond that required for concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setDescription(java.lang.CharSequence)">setDescription(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets optional information beyond that required for concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setDescription(java.lang.CharSequence)">setDescription(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets optional information beyond that required for concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setDescription(java.lang.CharSequence)">setDescription(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets optional information beyond that required for concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#setDescription(java.lang.CharSequence)">setDescription(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Sets optional information beyond that required for concise definition of the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#setDescription(java.lang.CharSequence)">setDescription(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Sets an <code>Identifier</code> or <code>IdentifiedObject</code> description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Sets the textual description of the instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the description of the mission on which the platform observations are made and the
 objectives of that mission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Sets the narrative description of the platform supporting the instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Sets the detailed text description of what the online resource is/does.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Sets the description of the attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Sets the natural language description of the meaning of the code value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Sets a brief description of a set of distribution options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Sets the spatial and temporal extent for the referring object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Sets the narrative explanation of the services in the chain and resulting output.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultAlgorithm</a></dt>
<dd>
<div class="block">Sets the information describing the algorithm used to generate the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Sets the description of the event, including related parameters or tolerances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Sets the textual description of what occurred during the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setDescription(org.opengis.util.InternationalString)">setDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets a detailed description of the level of the source data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setDescriptiveKeywords(java.util.Collection)">setDescriptiveKeywords(Collection&lt;? extends Keywords&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets category keywords, their type, and reference source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#setDescriptor(org.opengis.util.InternationalString)">setDescriptor(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, renamed <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#setDescription(org.opengis.util.InternationalString)"><code>DefaultRangeDimension.setDescription(InternationalString)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setDesignation(java.lang.CharSequence)">setDesignation(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets a natural language designator for the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setDesignation(java.lang.CharSequence)">setDesignation(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets a natural language designator for the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setDesignation(java.lang.CharSequence)">setDesignation(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets a natural language designator for the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setDesignation(java.lang.CharSequence)">setDesignation(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets a natural language designator for the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setDesignation(java.lang.CharSequence)">setDesignation(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets a natural language designator for the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#setDesignation(java.lang.CharSequence)">setDesignation(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Sets a natural language designator for the element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html#setDesiredAccuracy(double)">setDesiredAccuracy(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/CoordinateOperationContext.html" title="class in org.apache.sis.referencing.operation">CoordinateOperationContext</a></dt>
<dd>
<div class="block">Sets the desired accuracy in metres.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#setDesiredPrecision(double)">setDesiredPrecision(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Sets the desired precision of <em>inverse</em> transformations, in units of source coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setDetectedPolarization(org.opengis.metadata.content.PolarizationOrientation)">setDetectedPolarization(PolarizationOrientation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the polarization of the radiation detected.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#setDimensionDescription(org.opengis.util.InternationalString)">setDimensionDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Sets the axis dimension description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#setDimensionName(org.opengis.metadata.spatial.DimensionNameType)">setDimensionName(DimensionNameType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Sets the name of the axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#setDimensions(java.util.Collection)">setDimensions(Collection&lt;? extends RangeDimension&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, moved to <a href="org/apache/sis/metadata/iso/content/DefaultAttributeGroup.html#setAttributes(java.util.Collection)"><code>DefaultAttributeGroup.setAttributes(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#setDimensionSize(java.lang.Integer)">setDimensionSize(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Sets the number of elements along the axis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#setDimensionTitle(org.opengis.util.InternationalString)">setDimensionTitle(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Sets the enhancement / modifier of the dimension name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#setDistance(java.lang.Double)">setDistance(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Sets the ground sample distance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#setDistributedComputingPlatforms(java.util.Collection)">setDistributedComputingPlatforms(Collection&lt;? extends CodeList&lt;?&gt;&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Sets the distributed computing platforms on which the operation has been implemented.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#setDistributionFormats(java.util.Collection)">setDistributionFormats(Collection&lt;? extends Format&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Sets the formats of distribution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#setDistributionFormats(java.util.Collection)">setDistributionFormats(Collection&lt;? extends Format&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Sets a description of the format of the data to be distributed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setDistributionInfo(org.opengis.metadata.distribution.Distribution)">setDistributionInfo(Distribution)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets information about the distributor of and options for obtaining the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#setDistributionOrderProcesses(java.util.Collection)">setDistributionOrderProcesses(Collection&lt;? extends StandardOrderProcess&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Sets information about how the resource may be obtained,
 and related instructions and fee information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#setDistributorContact(org.opengis.metadata.citation.ResponsibleParty)">setDistributorContact(ResponsibleParty)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Sets the party from whom the resource may be obtained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#setDistributorFormats(java.util.Collection)">setDistributorFormats(Collection&lt;? extends Format&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Sets information about the format used by the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#setDistributors(java.util.Collection)">setDistributors(Collection&lt;? extends Distributor&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Sets information about the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html#setDistributorTransferOptions(java.util.Collection)">setDistributorTransferOptions(Collection&lt;? extends DigitalTransferOptions&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistributor.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistributor</a></dt>
<dd>
<div class="block">Provides information about the technical means and media used by the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#setDocumentations(java.util.Collection)">setDocumentations(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Sets the reference to documentation describing the processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setDomainCode(java.lang.Integer)">setDomainCode(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Removed as of ISO 19115:2014.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setDomainValue(org.opengis.util.InternationalString)">setDomainValue(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the valid values that can be assigned to the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#setEastBoundLongitude(double)">setEastBoundLongitude(double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Sets the eastern-most coordinate of the limit of the dataset extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setEdition(org.opengis.util.InternationalString)">setEdition(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the version of the cited resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setEditionDate(java.util.Date)">setEditionDate(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the date of the edition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#setElectronicMailAddresses(java.util.Collection)">setElectronicMailAddresses(Collection&lt;? extends String&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Sets the address of the electronic mailbox of the responsible organization or individual.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#setElement(int,int,double)">setElement(int, int, double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Modifies the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#setElement(int,int,double)">setElement(int, int, double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Modifies the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#setElement(int,int,double)">setElement(int, int, double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Modifies the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#setElement(int,int,double)">setElement(int, int, double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Modifies the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#setElementPattern(java.lang.String,boolean)">setElementPattern(String, boolean)</a></span> - Method in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">Sets the pattern to be used by <a href="org/apache/sis/measure/RangeFormat.html#elementFormat"><code>RangeFormat.elementFormat</code></a> for formatting the minimum and
 maximum values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#setElements(double%5B%5D)">setElements(double[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">Sets all matrix elements from a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#setElements(double%5B%5D)">setElements(double[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Sets all matrix elements from a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#setElements(double%5B%5D)">setElements(double[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Sets all matrix elements from a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#setElements(double%5B%5D)">setElements(double[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Sets all matrix elements from a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#setElements(double%5B%5D)">setElements(double[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Sets all matrix elements from a flat, row-major (column indices vary fastest) array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#setEndGeographicPoint(double,double)">setEndGeographicPoint(double, double)</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Sets the destination as geographic (<var>latitude</var>, <var>longitude</var>) coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#setEndPoint(org.opengis.geometry.coordinate.Position)">setEndPoint(Position)</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Sets the destination as coordinates in arbitrary reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#setEnvelope(double...)">setEnvelope(double...)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Sets the envelope to the specified values, which must be the lower corner coordinates
 followed by upper corner coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#setEnvelope(org.opengis.geometry.Envelope)">setEnvelope(Envelope)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Sets this envelope to the same coordinate values than the specified envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#setEnvironmentalConditions(org.opengis.metadata.acquisition.EnvironmentalRecord)">setEnvironmentalConditions(EnvironmentalRecord)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Sets the record of the environmental circumstances during the data acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#setEnvironmentDescription(org.opengis.util.InternationalString)">setEnvironmentDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Sets the description of the resource in the producers processing environment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#setEquation(double,double)">setEquation(double, double)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Sets this line to the specified slope and offset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#setEquation(double,double,double)">setEquation(double, double, double)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Sets the equation of this plane to the given coefficients.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#setEquation(java.lang.Number,java.lang.Number)">setEquation(Number, Number)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Sets this line from values of arbitrary <code>Number</code> type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#setEquation(java.lang.Number,java.lang.Number,java.lang.Number)">setEquation(Number, Number, Number)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Sets this plane from values of arbitrary <code>Number</code> type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#setEquivalentScale(org.opengis.metadata.identification.RepresentativeFraction)">setEquivalentScale(RepresentativeFraction)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Sets the level of detail expressed as the scale of a comparable hardcopy map or chart.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#setErrorStatistic(org.opengis.util.InternationalString)">setErrorStatistic(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Sets the statistical method used to determine the value, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#setEvaluationMethodDescription(org.opengis.util.InternationalString)">setEvaluationMethodDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Sets the description of the evaluation method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#setEvaluationMethodType(org.opengis.metadata.quality.EvaluationMethodType)">setEvaluationMethodType(EvaluationMethodType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Sets the type of method used to evaluate quality of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#setEvaluationProcedure(org.opengis.metadata.citation.Citation)">setEvaluationProcedure(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Sets the reference to the procedure information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#setExpectedObjectives(java.util.Collection)">setExpectedObjectives(Collection&lt;? extends Objective&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Sets the objective or objectives satisfied by an event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#setExpiryDate(java.util.Date)">setExpiryDate(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Sets the date and time after which collection is no longer valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#setExplanation(org.opengis.util.InternationalString)">setExplanation(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Sets the explanation of the meaning of conformance for this result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html#setExtendedElementInformation(java.util.Collection)">setExtendedElementInformation(Collection&lt;? extends ExtendedElementInformation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataExtensionInformation</a></dt>
<dd>
<div class="block">Sets information about a new metadata element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html#setExtensionOnLineResource(org.opengis.metadata.citation.OnlineResource)">setExtensionOnLineResource(OnlineResource)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataExtensionInformation</a></dt>
<dd>
<div class="block">Sets information about on-line sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#setExtent(org.opengis.geometry.Geometry)">setExtent(Geometry)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Sets the area covered by the pass.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#setExtent(org.opengis.metadata.extent.Extent)">setExtent(Extent)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#setExtents(java.util.Collection)"><code>DefaultScope.setExtents(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html#setExtent(org.opengis.temporal.TemporalPrimitive)">setExtent(TemporalPrimitive)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultTemporalExtent</a></dt>
<dd>
<div class="block">Sets the date and time for the content of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#setExtents(java.util.Collection)">setExtents(Collection&lt;? extends Extent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Sets the extent information including the bounding box, bounding polygon, vertical and
 temporal extent of the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#setExtents(java.util.Collection)">setExtents(Collection&lt;? extends Extent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Sets the spatial and temporal extents of the role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setExtents(java.util.Collection)">setExtents(Collection&lt;? extends Extent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets the spatial and temporal extent of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#setExtents(java.util.Collection)">setExtents(Collection&lt;? extends Extent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Sets information about the spatial, vertical and temporal extents of the resource specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#setFacsimiles(java.util.Collection)">setFacsimiles(Collection&lt;? extends String&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by a <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#setNumber(java.lang.String)">number</a>
             with <code>TelephoneType.FACSIMILE</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setFactory(java.lang.Class,T)">setFactory(Class&lt;T&gt;, T)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets one of the factories to be used by this <code>WKTFormat</code> for parsing WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#setFallbackAllowed(boolean)">setFallbackAllowed(boolean)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Sets whether the <a href="org/apache/sis/measure/AngleFormat.html#parse(java.lang.String,java.text.ParsePosition)"><code>parse</code></a> methods are allowed to
 fallback on the build-in default symbols if the string to parse doesn't match the
 <a href="org/apache/sis/measure/AngleFormat.html#applyPattern(java.lang.String)">applied pattern</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#setFeatureCatalogueCitations(java.util.Collection)">setFeatureCatalogueCitations(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Sets the complete bibliographic reference to one or more external feature catalogues.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html#setFeatureInstanceCount(java.lang.Integer)">setFeatureInstanceCount(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureTypeInfo</a></dt>
<dd>
<div class="block">Sets a new number of occurrence of feature instances for this feature types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#setFeatureInstances(java.util.Set)">setFeatureInstances(Set&lt;? extends FeatureType&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Sets the feature instances to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#setFeatures(java.util.Set)">setFeatures(Set&lt;? extends FeatureType&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Sets the feature types to which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#setFeatureTypeInfo(java.util.Collection)">setFeatureTypeInfo(Collection&lt;? extends DefaultFeatureTypeInfo&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Sets the subset of feature types from cited feature catalogue occurring in resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html#setFeatureTypeName(org.opengis.util.GenericName)">setFeatureTypeName(GenericName)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureTypeInfo</a></dt>
<dd>
<div class="block">Sets the name of the feature type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#setFeatureTypes(java.util.Collection)">setFeatureTypes(Collection&lt;? extends GenericName&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#setFeatureTypeInfo(java.util.Collection)"><code>DefaultFeatureCatalogueDescription.setFeatureTypeInfo(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#setFeatureTypes(java.util.Collection)">setFeatureTypes(Collection&lt;? extends LocalName&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Sets the list of feature types concerned by the transfer data file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setFees(org.opengis.util.InternationalString)">setFees(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Sets fees and terms for retrieving the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#setFileDecompressionTechnique(org.opengis.util.InternationalString)">setFileDecompressionTechnique(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Sets recommendations of algorithms or processes that can be applied to read or
 expand resources to which compression techniques have been applied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#setFileDescription(org.opengis.util.InternationalString)">setFileDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Sets the text description of the file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#setFileDescription(org.opengis.util.InternationalString)">setFileDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Sets the text description of the illustration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#setFileFormat(org.opengis.metadata.distribution.Format)">setFileFormat(Format)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Removed in latest XSD schemas.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setFileIdentifier(java.lang.String)">setFileIdentifier(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataIdentifier(org.opengis.metadata.Identifier)"><code>DefaultMetadata.setMetadataIdentifier(Identifier)</code></a></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#setFileName(java.net.URI)">setFileName(URI)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Sets the name or path of the file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#setFileName(java.net.URI)">setFileName(URI)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Sets the name of the file that contains a graphic that provides an illustration of the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html#setFileType(java.lang.String)">setFileType(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDataFile.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDataFile</a></dt>
<dd>
<div class="block">Sets the format in which the illustration is encoded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#setFileType(java.lang.String)">setFileType(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Sets the format in which the illustration is encoded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#setFileType(org.opengis.util.InternationalString)">setFileType(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Sets the type of file that contains the processing report.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setFilmDistortionInformationAvailable(java.lang.Boolean)">setFilmDistortionInformationAvailable(Boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the indication of whether or not Calibration Reseau information is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#setFilter(java.util.logging.Filter)">setFilter(Filter)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Do nothing since this logger adapter does not support filters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#setForAllPopulation(boolean)">setForAllPopulation(boolean)</a></span> - Method in class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Sets whether this formatter shall consider that the statistics where computed using
 the totality of the populations under study.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#setFormatDistributors(java.util.Collection)">setFormatDistributors(Collection&lt;? extends Distributor&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Sets information about the distributor's format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#setFormatSpecificationCitation(org.opengis.metadata.citation.Citation)">setFormatSpecificationCitation(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Sets the citation / URL of the specification format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setFrom(java.lang.String)">setFrom(String)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets the starting resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#setFromPoints(double,double,double,double)">setFromPoints(double, double, double, double)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Sets a line through the specified points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#setFunction(org.opengis.metadata.citation.OnLineFunction)">setFunction(OnLineFunction)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Sets the code for function performed by the online resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#setFunctions(java.util.Collection)">setFunctions(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Sets the role or purpose performed by or activity performed at the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html#setGCPs(java.util.Collection)">setGCPs(Collection&lt;? extends GCP&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCPCollection</a></dt>
<dd>
<div class="block">Sets the ground control point(s) used in the collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#setGeodesicDistance(double)">setGeodesicDistance(double)</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Sets the geodesic distance from the start point to the end point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html#setGeographicCoordinates(org.opengis.geometry.DirectPosition)">setGeographicCoordinates(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGCP.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGCP</a></dt>
<dd>
<div class="block">Sets the geographic or map position of the control point, in either two or three dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#setGeographicElements(java.util.Collection)">setGeographicElements(Collection&lt;? extends GeographicExtent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Sets geographic component of the extent of the referring object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html#setGeographicIdentifier(org.opengis.metadata.Identifier)">setGeographicIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicDescription</a></dt>
<dd>
<div class="block">Sets the identifier used to represent a geographic area.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#setGeolocationInformation(java.util.Collection)">setGeolocationInformation(Collection&lt;? extends GeolocationInformation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Sets the information that can be used to geolocate the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html#setGeometricObjectCount(java.lang.Integer)">setGeometricObjectCount(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeometricObjects</a></dt>
<dd>
<div class="block">Sets the total number of the point or vector object type occurring in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html#setGeometricObjects(java.util.Collection)">setGeometricObjects(Collection&lt;? extends GeometricObjects&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultVectorSpatialRepresentation</a></dt>
<dd>
<div class="block">Sets information about the geometric objects used in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html#setGeometricObjectType(org.opengis.metadata.spatial.GeometricObjectType)">setGeometricObjectType(GeometricObjectType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeometricObjects</a></dt>
<dd>
<div class="block">Sets the total number of the point or vector object type occurring in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#setGeoreferencedParameters(org.opengis.util.Record)">setGeoreferencedParameters(Record)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Sets the terms which support grid data georeferencing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setGraphicOverviews(java.util.Collection)">setGraphicOverviews(Collection&lt;? extends BrowseGraphic&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets a graphic that illustrates the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setGraphics(java.util.Collection)">setGraphics(Collection&lt;? extends BrowseGraphic&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets citation graphics or logo for cited party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#setGraphics(java.util.Collection)">setGraphics(Collection&lt;? extends BrowseGraphic&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Sets the new graphics / symbols indicating the constraint.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#setGraphicsFile(java.net.URI)">setGraphicsFile(URI)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Sets the full application schema given as a graphics file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html#setGroundResolution(java.lang.Double)">setGroundResolution(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultNominalResolution</a></dt>
<dd>
<div class="block">Sets the distance between consistent parts of (centre, left side, right side) adjacent pixels
 in the object space.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#setHandlingDescription(org.opengis.util.InternationalString)">setHandlingDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Sets the additional information about the restrictions on handling the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html#setHashLength(int)">setHashLength(int)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Sets the length of geohashes strings to be encoded by the <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Coder.html#encode(org.opengis.geometry.DirectPosition)"><code>GeohashReferenceSystem.Coder.encode(DirectPosition)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#setHeader(java.lang.String)">setHeader(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Sets the string to write on the left side of the first line of every log records.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setHierarchyLevelNames(java.util.Collection)">setHierarchyLevelNames(Collection&lt;? extends String&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataScopes(java.util.Collection)"><code>DefaultMetadata.setMetadataScopes(Collection)</code></a>
   and <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#setName(org.opengis.util.InternationalString)"><code>DefaultMetadataScope.setName(InternationalString)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setHierarchyLevels(java.util.Collection)">setHierarchyLevels(Collection&lt;? extends ScopeCode&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataScopes(java.util.Collection)"><code>DefaultMetadata.setMetadataScopes(Collection)</code></a>
   and <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#setResourceScope(org.opengis.metadata.maintenance.ScopeCode)"><code>DefaultMetadataScope.setResourceScope(ScopeCode)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setHoursOfService(org.opengis.util.InternationalString)">setHoursOfService(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Sets time period (including time zone) when individuals can contact the organization or individual.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setHRef(java.net.URI)">setHRef(URI)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets the URN to a resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setIdentificationInfo(java.util.Collection)">setIdentificationInfo(Collection&lt;? extends Identification&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets basic information about the resource(s) to which the metadata applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#setIdentifiedIssues(java.util.Collection)">setIdentifiedIssues(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Sets a new citation of a description of known issues associated with the resource
 along with proposed solutions if available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Sets the event name or number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Sets the unique identification of the instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the unique identification of the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Sets the unique identification of the platform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Sets the unique name of the pass.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Sets the unique name, or code, for the requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Sets a unique identifier for an instance of the medium.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">Sets the identifier for metadata objects that are expected to contain at most one ISO 19115 identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#setIdentifier(org.opengis.metadata.Identifier)">setIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Sets the information to identify the processing package that produced the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setIdentifierDelimiters(java.lang.String,java.lang.String,java.lang.String)">setIdentifierDelimiters(String, String, String)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets the prefix, suffix and delimiter to use when formatting a compound identifier made of two or more attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#setIdentifiers(java.util.Collection)">setIdentifiers(Collection&lt;? extends Identifier&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Sets the code used to identify the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setIdentifiers(java.util.Collection)">setIdentifiers(Collection&lt;? extends Identifier&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the unique identifier for the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#setIgnoringAxes(boolean)">setIgnoringAxes(boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">Sets whether the search should ignore coordinate system axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setIlluminationAzimuthAngle(java.lang.Double)">setIlluminationAzimuthAngle(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the illumination azimuth measured in degrees clockwise from true north at the time the image is taken.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setIlluminationElevationAngle(java.lang.Double)">setIlluminationElevationAngle(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">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.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#setImageConstraints(java.util.Collection)">setImageConstraints(Collection&lt;? extends Constraints&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Sets the restrictions on access and / or use of browse graphic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setImageQualityCode(org.opengis.metadata.Identifier)">setImageQualityCode(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets a code in producer’s codespace that specifies the image quality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setImagingCondition(org.opengis.metadata.content.ImagingCondition)">setImagingCondition(ImagingCondition)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the conditions that affected the image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#setIncludedWithDataset(boolean)">setIncludedWithDataset(boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Sets whether or not the feature catalogue is included with the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html#setInclusion(java.lang.Boolean)">setInclusion(Boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a></dt>
<dd>
<div class="block">Sets whether the bounding polygon encompasses an area covered by the data
 (<cite>inclusion</cite>) or an area where data is not present (<cite>exclusion</cite>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setIndentation(int)">setIndentation(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets a new indentation to be used for formatting objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#setIndentation(int)">setIndentation(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Sets the number of spaces to add on the left margin for each indentation level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html#setIndividual(java.util.Collection)">setIndividual(Collection&lt;? extends DefaultIndividual&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOrganisation</a></dt>
<dd>
<div class="block">Sets the individuals in the named organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#setIndividualName(java.lang.String)">setIndividualName(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <code>setName(InternationalString)</code> in <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html" title="class in org.apache.sis.metadata.iso.citation"><code>DefaultIndividual</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#setInitiativeType(org.opengis.metadata.identification.InitiativeType)">setInitiativeType(InitiativeType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Sets a new type of initiative under which the associated resource was produced.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#setInstruments(java.util.Collection)">setInstruments(Collection&lt;? extends Instrument&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Sets the general information about the instrument used in data acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#setInstruments(java.util.Collection)">setInstruments(Collection&lt;? extends Instrument&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Sets the instrument(s) mounted on a platform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#setInt(int,int)">setInt(int, int)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Sets the element at the given index as the <code>int</code> primitive type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/ImageRenderer.html#setInterleavedPixelOffsets(int,int%5B%5D)">setInterleavedPixelOffsets(int, int[])</a></span> - Method in class <a href="org/apache/sis/coverage/grid/ImageRenderer.html" title="class in org.apache.sis.coverage.grid">ImageRenderer</a></dt>
<dd>
<div class="block">Specifies the offsets to add to sample index in each band in order to reach the sample value in the <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true" title="class or interface in java.awt.image" class="externalLink"><code>DataBuffer</code></a> bank.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#setInvalidWKT(java.lang.Class,java.lang.Exception)">setInvalidWKT(Class&lt;?&gt;, Exception)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Marks the current WKT representation of the given class as not strictly compliant with the WKT specification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#setInvalidWKT(org.opengis.referencing.IdentifiedObject,java.lang.Exception)">setInvalidWKT(IdentifiedObject, Exception)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Marks the current WKT representation of the given object as not strictly compliant with the WKT specification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#setInvocationName(org.opengis.util.InternationalString)">setInvocationName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Sets the name used to invoke this interface within the context of the DCP.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setISBN(java.lang.String)">setISBN(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the International Standard Book Number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setISSN(java.lang.String)">setISSN(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the International Standard Serial Number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#setIssueIdentification(java.lang.String)">setIssueIdentification(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Sets information identifying the issue of the series.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#setKeyCollisionAllowed(boolean)">setKeyCollisionAllowed(boolean)</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">If set to <code>true</code>, different values may be assigned to the same key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setKeywordCase(org.apache.sis.io.wkt.KeywordCase)">setKeywordCase(KeywordCase)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets whether WKT keywords should be written with upper cases or camel cases.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#setKeywordClass(org.apache.sis.metadata.iso.identification.DefaultKeywordClass)">setKeywordClass(DefaultKeywordClass)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Sets the user-defined categorization of groups of keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#setKeywords(java.util.Collection)">setKeywords(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Sets commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setKeywordStyle(org.apache.sis.io.wkt.KeywordStyle)">setKeywordStyle(KeywordStyle)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets whether to use short or long WKT keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setLabel(java.lang.String)">setLabel(String)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets an identification of the target of a <code>from</code> or <code>to</code> attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setLanguage(java.util.Locale)">setLanguage(Locale)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()">DefaultMetadata.getLocalesAndCharsets()</a>.put(newValue, …)</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#setLanguages(java.util.Collection)">setLanguages(Collection&lt;? extends Locale&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by putting keys in <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#getLocalesAndCharsets()"><code>DefaultFeatureCatalogueDescription.getLocalesAndCharsets()</code></a> map.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#setLanguages(java.util.Collection)">setLanguages(Collection&lt;? extends Locale&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by putting keys in <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#getLocalesAndCharsets()"><code>DefaultDataIdentification.getLocalesAndCharsets()</code></a> map.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setLanguages(java.util.Collection)">setLanguages(Collection&lt;Locale&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by putting keys in <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()"><code>DefaultMetadata.getLocalesAndCharsets()</code></a> map.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html#setLatestAcceptableDate(java.util.Date)">setLatestAcceptableDate(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequestedDate</a></dt>
<dd>
<div class="block">Sets the latest date and time collection must be completed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html#setLenient(boolean)">setLenient(boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/MultiAuthoritiesFactory.html" title="class in org.apache.sis.referencing.factory">MultiAuthoritiesFactory</a></dt>
<dd>
<div class="block">Sets whether this factory should relax some rules when processing a given code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setLensDistortionInformationAvailable(java.lang.Boolean)">setLensDistortionInformationAvailable(Boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the indication of whether or not lens aberration correction information is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#setLevel(java.util.logging.Level)">setLevel(Level)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Sets the level for this logger.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#setLevel(org.opengis.metadata.maintenance.ScopeCode)">setLevel(ScopeCode)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Sets the hierarchical level of the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#setLevelColor(java.util.logging.Level,java.lang.String)">setLevelColor(Level, String)</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Sets the color to use for the given level, or <code>null</code> for removing colorization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#setLevelDescription(java.util.Collection)">setLevelDescription(Collection&lt;? extends ScopeDescription&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScope</a></dt>
<dd>
<div class="block">Sets detailed descriptions about the level of the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#setLevelDescription(org.opengis.metadata.maintenance.ScopeCode,java.util.Set)">setLevelDescription(ScopeCode, Set&lt;? extends CharSequence&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Dispatches the given values to a setter method determined by the given hierarchical level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#setLevelOfDetail(org.opengis.util.InternationalString)">setLevelOfDetail(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Sets the textual description of the spatial resolution of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#setLineage(org.opengis.metadata.lineage.Lineage)">setLineage(Lineage)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Sets the non-quantitative quality information about the lineage of the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#setLineSeparator(java.lang.String)">setLineSeparator(String)</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Changes the line separator to be sent to the underlying appendable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#setLineSeparator(java.lang.String)">setLineSeparator(String)</a></span> - Method in class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">Sets the line separator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#setLinkage(java.net.URI)">setLinkage(URI)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Sets the location (address) for on-line access using a Uniform Resource Locator address or
 similar addressing scheme such as "<code>http://www.statkart.no/isotc211</code>".</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html#setLinkages(java.util.Collection)">setLinkages(Collection&lt;? extends OnlineResource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.html" title="class in org.apache.sis.metadata.iso.identification">DefaultBrowseGraphic</a></dt>
<dd>
<div class="block">Sets the links to browse graphic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#setLocale(java.util.Locale)">setLocale(Locale)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Sets the locale of decimal format symbols or other symbols.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#setLocale(java.util.Locale)">setLocale(Locale)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Sets the locale that this <code>UnitFormat</code> will use for long names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#setLocale(java.util.Locale)">setLocale(Locale)</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Sets the locale to use for formatting warnings and other messages.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setLocales(java.util.Collection)">setLocales(Collection&lt;? extends Locale&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by putting keys in <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getLocalesAndCharsets()"><code>DefaultMetadata.getLocalesAndCharsets()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html#setLocalesAndCharsets(java.util.Map)">setLocalesAndCharsets(Map&lt;? extends Locale, ? extends Charset&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultFeatureCatalogueDescription</a></dt>
<dd>
<div class="block">Sets the language(s) and character set(s) used within the catalogue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setLocalesAndCharsets(java.util.Map)">setLocalesAndCharsets(Map&lt;? extends Locale, ? extends Charset&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the language(s) and character set(s) used within the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#setLocalesAndCharsets(java.util.Map)">setLocalesAndCharsets(Map&lt;? extends Locale, ? extends Charset&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Sets the language(s) and character set(s) used within the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#setLocation(java.awt.geom.Point2D)">setLocation(Point2D)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Sets this coordinate to the specified point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#setLocation(org.opengis.geometry.DirectPosition)">setLocation(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Sets this direct position to the given position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#setLocation(org.opengis.geometry.DirectPosition)">setLocation(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Sets this coordinate to the specified direct position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#setLocation(org.opengis.geometry.DirectPosition)">setLocation(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Sets this coordinate to the specified direct position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#setLoggerFactory(org.apache.sis.util.logging.LoggerFactory)">setLoggerFactory(LoggerFactory&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Sets a new factory to use for obtaining <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging" class="externalLink"><code>Logger</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html#setLogo(java.util.Collection)">setLogo(Collection&lt;? extends BrowseGraphic&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOrganisation</a></dt>
<dd>
<div class="block">Sets the graphics identifying organisation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setMaintenanceAndUpdateFrequency(org.opengis.metadata.maintenance.MaintenanceFrequency)">setMaintenanceAndUpdateFrequency(MaintenanceFrequency)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Sets the frequency with which changes and additions are made to the resource
 after the initial resource is completed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setMaintenanceDates(java.util.Collection)">setMaintenanceDates(Collection&lt;? extends CitationDate&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Sets the date information associated with maintenance of resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setMaintenanceNotes(java.util.Collection)">setMaintenanceNotes(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Sets information regarding specific requirements for maintaining the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setMaintenanceScopes(java.util.Collection)">setMaintenanceScopes(Collection&lt;? extends Scope&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Sets the types of resource and / or extents to which the maintenance information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#setMatrix(org.opengis.referencing.operation.Matrix)">setMatrix(Matrix)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Sets this matrix to the values of another matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#setMaxAltitude(java.lang.Double)">setMaxAltitude(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Sets the maximum altitude value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setMaximalLength(java.lang.Integer)">setMaximalLength(Integer)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the maximal length that characterizes the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>CharSequence</code></a> values of this attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#setMaximalLineLength(int)">setMaximalLineLength(int)</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Sets the maximal line length, in units of Unicode characters (code point count).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#setMaximumFractionDigits(int)">setMaximumFractionDigits(int)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Sets the maximum number of digits allowed in the fraction portion of the last field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setMaximumListElements(int)">setMaximumListElements(int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets a new limit for the number of elements to show in lists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setMaximumOccurrence(java.lang.Integer)">setMaximumOccurrence(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the maximum occurrence of the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setMaximumOccurs(int)">setMaximumOccurs(int)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets the maximum number of associations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setMaximumOccurs(int)">setMaximumOccurs(int)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the maximum number of attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setMaximumOccurs(int)">setMaximumOccurs(int)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets the maximum number of property values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#setMaximumValue(java.lang.Double)">setMaximumValue(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Sets the highest vertical extent contained in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#setMaximumWidth(int)">setMaximumWidth(int)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Modifies, if needed, the pattern in order to fit formatted angles in the given maximum
 total width.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#setMaxRelativeHumidity(java.lang.Double)">setMaxRelativeHumidity(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Sets the maximum relative humidity along the flight pass during the photo flight.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setMaxValue(java.lang.Double)">setMaxValue(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the maximum value of data values in each dimension included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setMeanValue(java.lang.Double)">setMeanValue(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the mean value of data values in each dimension included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#setMeasureDescription(org.opengis.util.InternationalString)">setMeasureDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Sets the description of the measure being determined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#setMeasureIdentification(org.opengis.metadata.Identifier)">setMeasureIdentification(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Sets the code identifying a registered standard procedure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#setMedia(java.util.Collection)">setMedia(Collection&lt;? extends Medium&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="block">Sets the media used by the format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setMediumFormats(java.util.Collection)">setMediumFormats(Collection&lt;? extends MediumFormat&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Sets the method used to write to the medium.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setMediumNote(org.opengis.util.InternationalString)">setMediumNote(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Sets a description of other limitations or requirements for using the medium.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Exceptions.html#setMessage(T,java.lang.String,boolean)">setMessage(T, String, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/Exceptions.html" title="class in org.apache.sis.util">Exceptions</a></dt>
<dd>
<div class="block">Returns an exception of the same kind and with the same stack trace than the given
 exception, but with a different message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataConstraints(java.util.Collection)">setMetadataConstraints(Collection&lt;? extends Constraints&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets restrictions on the access and use of metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataExtensionInfo(java.util.Collection)">setMetadataExtensionInfo(Collection&lt;? extends MetadataExtensionInformation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets information describing metadata extensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataIdentifier(org.opengis.metadata.Identifier)">setMetadataIdentifier(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the unique identifier for this metadata record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataLinkages(java.util.Collection)">setMetadataLinkages(Collection&lt;? extends OnlineResource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the online location(s) where the metadata is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataMaintenance(org.opengis.metadata.maintenance.MaintenanceInformation)">setMetadataMaintenance(MaintenanceInformation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets information about the frequency of metadata updates, and the scope of those updates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataProfiles(java.util.Collection)">setMetadataProfiles(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Set the citation(s) for the profile(s) of the metadata standard to which the metadata conform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#setMetadataReference(org.opengis.metadata.citation.Citation)">setMetadataReference(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Sets the reference to the metadata of the associated resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataScopes(java.util.Collection)">setMetadataScopes(Collection&lt;? extends DefaultMetadataScope&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the scope or type of resource for which metadata is provided.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataStandardName(java.lang.String)">setMetadataStandardName(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataStandards()"><code>DefaultMetadata.getMetadataStandards()</code></a>
   followed by <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setTitle(org.opengis.util.InternationalString)"><code>DefaultCitation.setTitle(InternationalString)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataStandards(java.util.Collection)">setMetadataStandards(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the citation(s) for the standard(s) to which the metadata conform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setMetadataStandardVersion(java.lang.String)">setMetadataStandardVersion(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getMetadataStandards()"><code>DefaultMetadata.getMetadataStandards()</code></a>
   followed by <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setEdition(org.opengis.util.InternationalString)"><code>DefaultCitation.setEdition(InternationalString)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html#setMeteorologicalConditions(org.opengis.util.InternationalString)">setMeteorologicalConditions(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEnvironmentalRecord</a></dt>
<dd>
<div class="block">Sets the meteorological conditions in the photo flight area, in particular clouds, snow and wind.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/PerformanceLevel.html#setMinDuration(long,java.util.concurrent.TimeUnit)">setMinDuration(long, TimeUnit)</a></span> - Method in class <a href="org/apache/sis/util/logging/PerformanceLevel.html" title="class in org.apache.sis.util.logging">PerformanceLevel</a></dt>
<dd>
<div class="block">Sets the minimal duration for logging an event at this level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#setMinimumFractionDigits(int)">setMinimumFractionDigits(int)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Sets the minimum number of digits allowed in the fraction portion of the last field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setMinimumOccurs(int)">setMinimumOccurs(int)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets the minimum number of associations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setMinimumOccurs(int)">setMinimumOccurs(int)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the minimum number of attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setMinimumOccurs(int)">setMinimumOccurs(int)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets the minimum number of property values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#setMinimumValue(java.lang.Double)">setMinimumValue(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Sets the lowest vertical extent contained in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setMinValue(java.lang.Double)">setMinValue(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the minimum value of data values in each dimension included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#setMountedOn(org.opengis.metadata.acquisition.Platform)">setMountedOn(Platform)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Sets the platform on which the instrument is mounted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#setMultiLinesCells(boolean)">setMultiLinesCells(boolean)</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Sets the desired behavior for EOL and tabulations characters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#setName(int)">setName(int)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Sets an identification of the sample dimension as a band number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#setName(java.lang.CharSequence)">setName(CharSequence)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Sets an identification of the sample dimension as a character sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setName(java.lang.CharSequence)">setName(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets the <code>FeatureAssociationRole</code> name as a simple string (local name).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setName(java.lang.CharSequence)">setName(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>AttributeType</code> name as a simple string (local name).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setName(java.lang.CharSequence)">setName(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets the characteristic name as a simple string (local name).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setName(java.lang.CharSequence)">setName(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>FeatureType</code> name as a simple string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setName(java.lang.CharSequence)">setName(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>PropertyType</code> name as a simple string (local name).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#setName(java.lang.CharSequence)">setName(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>IdentifiedType</code> name as a simple string (local name).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setName(java.lang.CharSequence...)">setName(CharSequence...)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets the <code>FeatureAssociationRole</code> name as a string in the given scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setName(java.lang.CharSequence...)">setName(CharSequence...)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>AttributeType</code> name as a string in the given scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setName(java.lang.CharSequence...)">setName(CharSequence...)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets the characteristic name as a string in the given scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setName(java.lang.CharSequence...)">setName(CharSequence...)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>FeatureType</code> name as a string in the given scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setName(java.lang.CharSequence...)">setName(CharSequence...)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>PropertyType</code> name as a string in the given scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#setName(java.lang.CharSequence...)">setName(CharSequence...)</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>IdentifiedType</code> name as a string in the given scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#setName(java.lang.String)">setName(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Sets the name of the online resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setName(java.lang.String)">setName(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the name of the extended metadata element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Colors.html#setName(org.apache.sis.io.wkt.ElementKind,java.lang.String)">setName(ElementKind, String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Colors.html" title="class in org.apache.sis.io.wkt">Colors</a></dt>
<dd>
<div class="block">Sets the color of the given syntactic element from a color name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#setName(org.opengis.metadata.citation.Citation)">setName(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Sets the name of the application schema used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html#setName(org.opengis.metadata.citation.Citation)">setName(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultAssociatedResource</a></dt>
<dd>
<div class="block">Sets citation information about the associated resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setName(org.opengis.metadata.distribution.MediumName)">setName(MediumName)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Sets the name of the medium on which the resource can be received.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.Builder.html#setName(org.opengis.util.GenericName)">setName(GenericName)</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></dt>
<dd>
<div class="block">Sets an identification of the sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html#setName(org.opengis.util.GenericName)">setName(GenericName)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></dt>
<dd>
<div class="block">Sets the <code>FeatureAssociationRole</code> name as a generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setName(org.opengis.util.GenericName)">setName(GenericName)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>AttributeType</code> name as a generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setName(org.opengis.util.GenericName)">setName(GenericName)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets the characteristic name as a generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setName(org.opengis.util.GenericName)">setName(GenericName)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>FeatureType</code> name as a generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html#setName(org.opengis.util.GenericName)">setName(GenericName)</a></span> - Method in class <a href="org/apache/sis/feature/builder/PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>PropertyType</code> name as a generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#setName(org.opengis.util.GenericName)">setName(GenericName)</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Sets the <code>IdentifiedType</code> name as a generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/AbstractParty.html#setName(org.opengis.util.InternationalString)">setName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></dt>
<dd>
<div class="block">Sets the name of the party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#setName(org.opengis.util.InternationalString)">setName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Sets the name of the series, or aggregate dataset, of which the dataset is a part.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#setName(org.opengis.util.InternationalString)">setName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Sets the designation associated with a set of range elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#setName(org.opengis.util.InternationalString)">setName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataScope</a></dt>
<dd>
<div class="block">Sets the description of the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#setName(org.opengis.util.InternationalString)">setName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by
 <code><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFormatSpecificationCitation()">DefaultFormat.getFormatSpecificationCitation()</a>.<a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setAlternateTitles(java.util.Collection)">setAlternateTitles(Collection)</a></code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#setName(org.opengis.util.InternationalString)">setName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Sets the name used by the service for this chain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html#setName(org.opengis.util.InternationalString)">setName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStepReport</a></dt>
<dd>
<div class="block">Sets the name of the processing report.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setNameAuthority(org.opengis.metadata.citation.Citation)">setNameAuthority(Citation)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets the preferred authority for choosing the projection and parameter names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#setNames(java.util.Collection)">setNames(Collection&lt;? extends Identifier&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Sets the identifiers for each attribute included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#setNamesOfMeasure(java.util.Collection)">setNamesOfMeasure(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Sets the name of the test applied to the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setNameSpace(java.lang.CharSequence)">setNameSpace(CharSequence)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets the namespace of the next names to be created by <code>setName(CharSequence...)</code> method calls.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#setNodeFilter(java.util.function.Predicate)">setNodeFilter(Predicate&lt;TreeTable.Node&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Sets a filter specifying whether a node should be formatted or ignored.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#setNodeSize(int)">setNodeSize(int)</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Sets the node size of the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setNominalSpatialResolution(java.lang.Double)">setNominalSpatialResolution(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the smallest distance between which separate points can be distinguished,
 as specified in instrument design.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setNominalSpatialResolution(java.lang.Double)">setNominalSpatialResolution(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the smallest distance between which separate points can be distinguished,
 as specified in instrument design.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#setNorthBoundLatitude(double)">setNorthBoundLatitude(double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Sets the northern-most, coordinate of the limit of the dataset extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#setNumber(int,int,java.lang.Number)">setNumber(int, int, Number)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Modifies the value at the specified row and column of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#setNumber(java.lang.String)">setNumber(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="block">Sets the telephone number by which individuals can contact responsible organization or individual.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#setNumberOfDimensions(java.lang.Integer)">setNumberOfDimensions(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Sets the number of independent spatial-temporal axes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setNumberOfValues(java.lang.Integer)">setNumberOfValues(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the number of values used in a thematic classification resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#setNumberType(org.opengis.util.CodeList)">setNumberType(CodeList&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="block">Sets the type of telephone number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#setObjectiveOccurences(java.util.Collection)">setObjectiveOccurences(Collection&lt;? extends Event&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Sets the event or events associated with objective completion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#setObjectives(java.util.Collection)">setObjectives(Collection&lt;? extends Objective&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Sets the area or object to be sensed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setObjectives(java.util.Collection)">setObjectives(Collection&lt;? extends Objective&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets Object(s) or area(s) of interest to be sensed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setObligation(org.opengis.metadata.Obligation)">setObligation(Obligation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the obligation of the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#setOffLine(org.opengis.metadata.distribution.Medium)">setOffLine(Medium)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#setOffLines(java.util.Collection)"><code>DefaultDigitalTransferOptions.setOffLines(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#setOffLines(java.util.Collection)">setOffLines(Collection&lt;? extends Medium&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Sets information about offline media on which the resource can be obtained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#setOffset(double)">setOffset(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Sets the offset of the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setOffset(java.lang.Double)">setOffset(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the physical value corresponding to a cell value of zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setOnlineResource(org.opengis.metadata.citation.OnlineResource)">setOnlineResource(OnlineResource)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setOnlineResources(java.util.Collection)"><code>DefaultContact.setOnlineResources(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setOnlineResources(java.util.Collection)">setOnlineResources(Collection&lt;? extends OnlineResource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets online references to the cited resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setOnlineResources(java.util.Collection)">setOnlineResources(Collection&lt;? extends OnlineResource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Sets on-line information that can be used to contact the individual or organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#setOnLines(java.util.Collection)">setOnLines(Collection&lt;? extends OnlineResource&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Sets information about online sources from which the resource can be obtained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html#setOntology(org.opengis.metadata.citation.Citation)">setOntology(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywordClass.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywordClass</a></dt>
<dd>
<div class="block">Sets a reference that binds the keyword class to a formal conceptualization of a knowledge domain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setOperatedDatasets(java.util.Collection)">setOperatedDatasets(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets the reference(s) to the resource on which the service operates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setOperatesOn(java.util.Collection)">setOperatesOn(Collection&lt;? extends DataIdentification&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets the information on the resources that the service operates on.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#setOperation(org.apache.sis.metadata.iso.identification.DefaultOperationMetadata)">setOperation(DefaultOperationMetadata)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Sets a new service operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#setOperationDescription(org.opengis.util.InternationalString)">setOperationDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Sets free text description of the intent of the operation and the results of the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#setOperationName(java.lang.String)">setOperationName(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Sets the unique identifier for this interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#setOperations(java.util.Collection)">setOperations(Collection&lt;? extends Operation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Sets the general information about an identifiable activity which provided the data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#setOperations(java.util.Collection)">setOperations(Collection&lt;? extends Operation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Sets the identification of the activity or activities that satisfy a plan.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html#setOperations(java.util.List)">setOperations(List&lt;? extends DefaultOperationMetadata&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationChainMetadata</a></dt>
<dd>
<div class="block">Sets the information about the operations applied by the chain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#setOperationValue(java.lang.String,java.lang.Object)">setOperationValue(String, Object)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Executes the parameterless operation of the given name and sets the value of its result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#setOption(org.apache.sis.setup.OptionKey,T)">setOption(OptionKey&lt;T&gt;, T)</a></span> - Method in class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Sets the option value for the given key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setOrderingInstructions(org.opengis.util.InternationalString)">setOrderingInstructions(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Sets general instructions, terms and services provided by the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setOrderOptions(org.opengis.util.Record)">setOrderOptions(Record)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Sets the request/purchase choices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setOrderOptionsType(org.opengis.util.RecordType)">setOrderOptionsType(RecordType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Sets the description of the <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#getOrderOptions()">order options</a> record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setOrderOptionType(org.opengis.util.RecordType)">setOrderOptionType(RecordType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setOrderOptionsType(org.opengis.util.RecordType)"><code>DefaultStandardOrderProcess.setOrderOptionsType(RecordType)</code></a> for ISO 19115 conformance.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#setOrdinate(int,double)">setOrdinate(int, double)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Sets the coordinate value along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#setOrdinate(int,double)">setOrdinate(int, double)</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Sets the coordinate value along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#setOrdinate(int,double)">setOrdinate(int, double)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Sets the coordinate value along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#setOrganisationName(org.opengis.util.InternationalString)">setOrganisationName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <code>setName(InternationalString)</code> in <a href="org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation"><code>DefaultOrganisation</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#setOrientationParameterAvailable(boolean)">setOrientationParameterAvailable(boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Sets an indication of whether or not orientation parameters are available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#setOrientationParameterDescription(org.opengis.util.InternationalString)">setOrientationParameterDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Sets a description of parameters used to describe sensor orientation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html#setOther(java.lang.String)">setOther(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultScopeDescription</a></dt>
<dd>
<div class="block">Sets the class of information that does not fall into the other categories to
 which the information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setOtherCitationDetails(org.opengis.util.InternationalString)">setOtherCitationDetails(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets other information required to complete the citation that is not recorded elsewhere.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#setOtherConstraints(java.util.Collection)">setOtherConstraints(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Sets the other restrictions and legal prerequisites for accessing and using the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setOtherProperty(org.opengis.util.Record)">setOtherProperty(Record)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets a new instance of other/attributeType that defines attributes not explicitly
 included in <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/content/CoverageContentType.html?is-external=true" title="class or interface in org.opengis.metadata.content" class="externalLink"><code>CoverageContentType</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setOtherPropertyType(org.opengis.util.RecordType)">setOtherPropertyType(RecordType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets a new type of other attribute description.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setOutputs(java.util.Collection)">setOutputs(Collection&lt;? extends Source&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Sets the description of the product generated as a result of the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#setOwner(java.lang.CharSequence)">setOwner(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Sets the name of the organization or class of organization able to create and destroy location instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#setOwner(org.apache.sis.metadata.iso.citation.AbstractParty)">setOwner(AbstractParty)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Sets the organization or class of organization able to create and destroy location instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html#setPage(java.lang.String)">setPage(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultSeries.html" title="class in org.apache.sis.metadata.iso.citation">DefaultSeries</a></dt>
<dd>
<div class="block">Sets details on which pages of the publication the article was published.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#setPairedBrackets(java.lang.String,java.lang.String...)">setPairedBrackets(String, String...)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Sets the opening and closing brackets to the given pairs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#setPairedQuotes(java.lang.String,java.lang.String...)">setPairedQuotes(String, String...)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Sets the opening and closing quotes to the given pairs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html#setParameterCitations(java.util.Collection)">setParameterCitations(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeoreferenceable</a></dt>
<dd>
<div class="block">Sets a reference providing description of the parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html#setParameters(java.util.Collection)">setParameters(Collection&lt;? extends ParameterDescriptor&lt;?&gt;&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.html" title="class in org.apache.sis.metadata.iso.identification">DefaultOperationMetadata</a></dt>
<dd>
<div class="block">Sets the parameters that are required for this interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#setParent(java.util.logging.Logger)">setParent(Logger)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Do nothing since this logger adapter does not support arbitrary parents.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setParentEntity(java.util.Collection)">setParentEntity(Collection&lt;? extends String&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the name of the metadata entity(s) under which this extended metadata element may appear.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setParentIdentifier(java.lang.String)">setParentIdentifier(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultMetadata.html#getParentMetadata()"><code>DefaultMetadata.getParentMetadata()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setParentMetadata(org.opengis.metadata.citation.Citation)">setParentMetadata(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets an identification of the parent metadata record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setParentOperation(org.opengis.metadata.acquisition.Operation)">setParentOperation(Operation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the heritage of the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#setParties(java.util.Collection)">setParties(Collection&lt;? extends AbstractParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Sets information about the parties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#setPass(java.lang.Boolean)">setPass(Boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Sets the indication of the conformance result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#setPass(java.util.Collection)">setPass(Collection&lt;? extends PlatformPass&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Sets the pass of the platform over the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setPeakResponse(java.lang.Double)">setPeakResponse(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the wavelength at which the response is the highest.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setPhone(org.opengis.metadata.citation.Telephone)">setPhone(Telephone)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setPhones(java.util.Collection)"><code>DefaultContact.setPhones(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultContact.html#setPhones(java.util.Collection)">setPhones(Collection&lt;? extends Telephone&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></dt>
<dd>
<div class="block">Sets telephone numbers at which the organization or individual may be contacted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#setPixel(double%5B%5D)">setPixel(double[])</a></span> - Method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Sets the sample values of current pixel for all bands.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#setPixel(float%5B%5D)">setPixel(float[])</a></span> - Method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Sets the sample values of current pixel for all bands.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#setPixel(int%5B%5D)">setPixel(int[])</a></span> - Method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Sets the sample values of current pixel for all bands.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setPlan(org.opengis.metadata.acquisition.Plan)">setPlan(Plan)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the plan satisfied by the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setPlannedAvailableDateTime(java.util.Date)">setPlannedAvailableDateTime(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Sets the date and time when the dataset will be available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html#setPlatforms(java.util.Collection)">setPlatforms(Collection&lt;? extends Platform&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultAcquisitionInformation</a></dt>
<dd>
<div class="block">Sets the general information about the platform from which the data were taken.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setPlatforms(java.util.Collection)">setPlatforms(Collection&lt;? extends Platform&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the platform (or platforms) used in the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#setPointInPixel(org.opengis.metadata.spatial.PixelOrientation)">setPointInPixel(PixelOrientation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Sets the point in a pixel corresponding to the Earth location of the pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setPointOfContacts(java.util.Collection)">setPointOfContacts(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets the means of communication with persons(s) and organizations(s) associated with the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html#setPolygons(java.util.Collection)">setPolygons(Collection&lt;? extends Geometry&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.html" title="class in org.apache.sis.metadata.iso.extent">DefaultBoundingPolygon</a></dt>
<dd>
<div class="block">Sets the sets of points defining the resource boundary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html#setPortrayalCatalogueCitations(java.util.Collection)">setPortrayalCatalogueCitations(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.html" title="class in org.apache.sis.metadata.iso">DefaultPortrayalCatalogueReference</a></dt>
<dd>
<div class="block">Sets bibliographic reference to the portrayal catalogue cited.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setPortrayalCatalogueInfo(java.util.Collection)">setPortrayalCatalogueInfo(Collection&lt;? extends PortrayalCatalogueReference&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets information about the catalogue of rules defined for the portrayal of a resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html#setPositionName(org.opengis.util.InternationalString)">setPositionName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html" title="class in org.apache.sis.metadata.iso.citation">DefaultIndividual</a></dt>
<dd>
<div class="block">Sets a new position of the individual in an organization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#setPositionName(org.opengis.util.InternationalString)">setPositionName(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/citation/DefaultIndividual.html#setPositionName(org.opengis.util.InternationalString)"><code>DefaultIndividual.setPositionName(InternationalString)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#setPositionVectorTransformation(org.opengis.referencing.operation.Matrix,double)">setPositionVectorTransformation(Matrix, double)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Sets all Bursa-Wolf parameters from the given <cite>Position Vector transformation</cite> matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html#setPostalCode(java.lang.String)">setPostalCode(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultAddress.html" title="class in org.apache.sis.metadata.iso.citation">DefaultAddress</a></dt>
<dd>
<div class="block">Sets ZIP or other postal code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#setPrecision(double)">setPrecision(double)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Sets the desired precision of the references formatted by this coder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#setPrecision(double,boolean)">setPrecision(double, boolean)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Adjusts the number of fraction digits, and optionally the visible fields, for the given precision.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#setPrecision(double,javax.measure.Unit)">setPrecision(double, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Adjusts the number of fraction digits to show in coordinates for achieving the given precision.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.html#setPreferredCodespaces(java.lang.String...)">setPreferredCodespaces(String...)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterFormat.html" title="class in org.apache.sis.parameter">ParameterFormat</a></dt>
<dd>
<div class="block">Filters names, aliases and identifiers by their code spaces.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setPresentationForms(java.util.Collection)">setPresentationForms(Collection&lt;? extends PresentationForm&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the mode in which the resource is represented.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#setPriority(org.opengis.metadata.acquisition.Priority)">setPriority(Priority)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Sets the relative ordered importance, or urgency, of the requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#setPriority(org.opengis.util.InternationalString)">setPriority(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Sets the priority applied to the target.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#setProcedureDescription(org.opengis.util.InternationalString)">setProcedureDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Sets the additional details about the processing procedures.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setProcessedLevel(org.opengis.metadata.Identifier)">setProcessedLevel(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets the processing level of the source data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setProcessingInformation(org.opengis.metadata.lineage.Processing)">setProcessingInformation(Processing)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Sets the comprehensive information about the procedure by which the algorithm was
 applied to derive geographic data from the raw instrument measurements, such as
 datasets, software used, and the processing environment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setProcessingLevel(org.opengis.metadata.Identifier)">setProcessingLevel(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets code that identifies the level of processing in the producers coding system of a resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#setProcessingLevelCode(org.opengis.metadata.Identifier)">setProcessingLevelCode(Identifier)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Sets the identifier for the level of processing that has been applied to the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setProcessors(java.util.Collection)">setProcessors(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Identification of, and means of communication with, person(s) and
 organization(s) associated with the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#setProcessSteps(java.util.Collection)">setProcessSteps(Collection&lt;? extends ProcessStep&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Sets information about events in the life of a resource specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setProfiles(java.util.Collection)">setProfiles(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets the profile(s) to which the service adheres.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#setProperty(java.lang.Object)">setProperty(Object)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Sets the property (attribute or feature association).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#setPropertyValue(java.lang.String,java.lang.Object)">setPropertyValue(String, Object)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Sets the value for the property of the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#setProtocol(java.lang.String)">setProtocol(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Sets the connection protocol to be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html#setProtocolRequest(java.lang.String)">setProtocolRequest(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultOnlineResource.html" title="class in org.apache.sis.metadata.iso.citation">DefaultOnlineResource</a></dt>
<dd>
<div class="block">Sets the request to be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setPurpose(org.opengis.util.InternationalString)">setPurpose(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets a summary of the intentions with which the resource(s) was developed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html#setQualityInfo(java.util.Collection)">setQualityInfo(Collection&lt;? extends DataQuality&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.html" title="class in org.apache.sis.metadata.iso.spatial">AbstractGeolocationInformation</a></dt>
<dd>
<div class="block">Sets an overall assessment of quality of geolocation information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setRadiometricCalibrationDataAvailable(java.lang.Boolean)">setRadiometricCalibrationDataAvailable(Boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the indication of whether or not the radiometric calibration information for generating
 the radiometrically calibrated standard data product is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#setRange(int,double,double)">setRange(int, double, double)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Sets the envelope range along the specified dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html#setRangeElementDescriptions(java.util.Collection)">setRangeElementDescriptions(Collection&lt;? extends RangeElementDescription&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultCoverageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultCoverageDescription</a></dt>
<dd>
<div class="block">Sets the description of the specific range elements of a coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html#setRangeElements(java.util.Collection)">setRangeElements(Collection&lt;? extends Record&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeElementDescription</a></dt>
<dd>
<div class="block">Sets the specific range elements, i.e. range elements associated with a name and their definition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setRationale(org.opengis.util.InternationalString)">setRationale(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the reason for creating the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setRationale(org.opengis.util.InternationalString)">setRationale(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Sets the requirement or purpose for the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setRationales(java.util.Collection)">setRationales(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setRationale(org.opengis.util.InternationalString)"><code>DefaultExtendedElementInformation.setRationale(InternationalString)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#setRecipients(java.util.Collection)">setRecipients(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Sets the Person(s), or body(ies), to receive results of requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#setRect(java.awt.geom.Rectangle2D)">setRect(Rectangle2D)</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Sets this envelope to the given rectangle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#setReferences(java.util.Collection)">setReferences(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Sets the citations for the limitation of constraint.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setReferences(java.util.Collection)">setReferences(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Sets the process step documentation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setReferenceSystemInfo(java.util.Collection)">setReferenceSystemInfo(Collection&lt;? extends ReferenceSystem&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the description of the spatial and temporal reference systems used in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#setRegionOfInterest(java.awt.Rectangle)">setRegionOfInterest(Rectangle)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Sets the region (in pixel coordinates) where to perform the iteration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html#setRelatedEvents(java.util.Collection)">setRelatedEvents(Collection&lt;? extends Event&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatformPass</a></dt>
<dd>
<div class="block">Sets the occurrence of one or more events for a pass.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#setRelatedPass(org.opengis.metadata.acquisition.PlatformPass)">setRelatedPass(PlatformPass)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Sets the pass during which an event occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#setRelatedSensors(java.util.Collection)">setRelatedSensors(Collection&lt;? extends Instrument&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Sets the instrument or instruments for which the event is meaningful.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#setReleasability(org.apache.sis.metadata.iso.constraint.DefaultReleasability)">setReleasability(DefaultReleasability)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Sets the information concerning the parties to whom the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#setRemarks(java.lang.CharSequence)">setRemarks(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Sets remarks as a <code>String</code> or <code>InternationalString</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setReports(java.util.Collection)">setReports(Collection&lt;? extends ProcessStepReport&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Sets the report generated by the process step.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#setReports(java.util.Collection)">setReports(Collection&lt;? extends Element&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Sets the quantitative quality information for the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#setRequestedDate(org.opengis.metadata.acquisition.RequestedDate)">setRequestedDate(RequestedDate)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Sets the required or preferred acquisition date and time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html#setRequestedDateOfCollection(java.util.Date)">setRequestedDateOfCollection(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequestedDate.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequestedDate</a></dt>
<dd>
<div class="block">Sets the preferred date and time of collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#setRequestors(java.util.Collection)">setRequestors(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>
<div class="block">Sets the origin of requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterBuilder.html#setRequired(boolean)">setRequired(boolean)</a></span> - Method in class <a href="org/apache/sis/parameter/ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></dt>
<dd>
<div class="block">Sets whether the parameter is mandatory or optional.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html#setResolution(java.lang.Double)">setResolution(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultDimension.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultDimension</a></dt>
<dd>
<div class="block">Sets the degree of detail in the grid dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setResolution(org.opengis.metadata.lineage.NominalResolution)">setResolution(NominalResolution)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets the distance between consistent parts (centre, left side, right side) of two adjacent pixels.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setResourceConstraints(java.util.Collection)">setResourceConstraints(Collection&lt;? extends Constraints&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets information about constraints which apply to the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setResourceFormats(java.util.Collection)">setResourceFormats(Collection&lt;? extends Format&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets a description of the format of the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setResourceLineages(java.util.Collection)">setResourceLineages(Collection&lt;? extends Lineage&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets information about the provenance, sources and/or the production processes applied to the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setResourceMaintenances(java.util.Collection)">setResourceMaintenances(Collection&lt;? extends MaintenanceInformation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets information about the frequency of resource updates, and the scope of those updates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#setResourceReferences(java.util.Collection)">setResourceReferences(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Sets references to the resource on which the services operates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#setResources(java.util.Collection)">setResources(Collection&lt;? extends DataIdentification&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Sets the tightly coupled resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html#setResourceScope(org.opengis.metadata.maintenance.ScopeCode)">setResourceScope(ScopeCode)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadataScope.html" title="class in org.apache.sis.metadata.iso">DefaultMetadataScope</a></dt>
<dd>
<div class="block">Sets the code for the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setResourceSpecificUsages(java.util.Collection)">setResourceSpecificUsages(Collection&lt;? extends Usage&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets basic information about specific application(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#setResponses(java.util.Collection)">setResponses(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Sets a new response to the user-determined limitations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#setResponsibleParties(java.util.Collection)">setResponsibleParties(Collection&lt;? extends DefaultResponsibility&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Sets the parties responsible for the resource constraints.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#setResultContentDescription(org.opengis.metadata.content.CoverageDescription)">setResultContentDescription(CoverageDescription)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Sets the description of the content of the result coverage, i.e. semantic definition
 of the data quality measures.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#setResultFile(org.opengis.metadata.distribution.DataFile)">setResultFile(DataFile)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Sets the information about the data file containing the result coverage data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#setResultFormat(org.opengis.metadata.distribution.Format)">setResultFormat(Format)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Sets the information about the format of the result coverage data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/AbstractElement.html#setResults(java.util.Collection)">setResults(Collection&lt;? extends Result&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/AbstractElement.html" title="class in org.apache.sis.metadata.iso.quality">AbstractElement</a></dt>
<dd>
<div class="block">Sets the value (or set of values) obtained from applying a data quality measure or
 the out come of evaluating the obtained value (or set of values) against a specified
 acceptable conformance quality level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#setResultSpatialRepresentation(org.opengis.metadata.spatial.SpatialRepresentation)">setResultSpatialRepresentation(SpatialRepresentation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Sets the digital representation of data quality measures composing the coverage result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setRole(java.net.URI)">setRole(URI)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets the URI reference for some description of the arc role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html#setRole(org.opengis.metadata.citation.Role)">setRole(Role)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibility.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibility</a></dt>
<dd>
<div class="block">Sets the function performed by the responsible party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html#setRole(org.opengis.metadata.citation.Role)">setRole(Role)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.html" title="class in org.apache.sis.metadata.iso.citation">DefaultResponsibleParty</a></dt>
<dd>
<div class="block">Sets the function performed by the responsible party.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#setRoot(org.apache.sis.util.collection.TreeTable.Node)">setRoot(TreeTable.Node)</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Sets the root to the given node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#setRoundingMode(java.math.RoundingMode)">setRoundingMode(RoundingMode)</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Sets the rounding mode to the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setRule(org.opengis.util.InternationalString)">setRule(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets how the extended element relates to other existing elements and entities.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#setRunTimeParameters(org.opengis.util.InternationalString)">setRunTimeParameters(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Sets the parameters to control the processing operations, entered at run time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#setSample(int,double)">setSample(int, double)</a></span> - Method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Writes a sample value in the specified band of current pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#setSample(int,float)">setSample(int, float)</a></span> - Method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Writes a sample value in the specified band of current pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/WritablePixelIterator.html#setSample(int,int)">setSample(int, int)</a></span> - Method in class <a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image">WritablePixelIterator</a></dt>
<dd>
<div class="block">Writes a sample value in the specified band of current pixel.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html#setSatisfiedPlans(java.util.Collection)">setSatisfiedPlans(Collection&lt;? extends Plan&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultRequirement.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultRequirement</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#setSatisfiedRequirements(java.util.Collection)">setSatisfiedRequirements(Collection&lt;? extends Requirement&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Sets the requirement satisfied by the plan.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#setScale(double)">setScale(double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Sets the denominator from a scale in the (0 … 1] range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#setScale(double)">setScale(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Sets the scale factor of the transfer function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setScaleDenominator(org.opengis.metadata.identification.RepresentativeFraction)">setScaleDenominator(RepresentativeFraction)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, moved to <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#setEquivalentScale(org.opengis.metadata.identification.RepresentativeFraction)"><code>DefaultResolution.setEquivalentScale(RepresentativeFraction)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setScaleFactor(java.lang.Double)">setScaleFactor(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the scale factor which has been applied to the cell value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html#setScanningResolution(java.lang.Double)">setScanningResolution(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultNominalResolution</a></dt>
<dd>
<div class="block">Sets the distance between consistent parts of (centre, left side, right side) adjacent
 pixels in the scan plane.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#setSchemaAscii(java.net.URI)">setSchemaAscii(URI)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Sets the full application schema given as an ASCII file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#setSchemaLanguage(java.lang.String)">setSchemaLanguage(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Sets the identification of the schema language used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#setScope(org.opengis.metadata.quality.Scope)">setScope(Scope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Sets the type of resource and / or extents to which the lineage information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setScope(org.opengis.metadata.quality.Scope)">setScope(Scope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Sets the type of resource and / or extent to which the process step applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setScope(org.opengis.metadata.quality.Scope)">setScope(Scope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets the type and / or extent of the source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#setScope(org.opengis.metadata.quality.Scope)">setScope(Scope)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultDataQuality.html" title="class in org.apache.sis.metadata.iso.quality">DefaultDataQuality</a></dt>
<dd>
<div class="block">Sets the specific data to which the data quality information applies.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html#setScopedName(org.opengis.util.ScopedName)">setScopedName(ScopedName)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultCoupledResource.html" title="class in org.apache.sis.metadata.iso.identification">DefaultCoupledResource</a></dt>
<dd>
<div class="block">Sets the identifier of the resource in the context of the given service instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html#setSearchDomain(org.apache.sis.referencing.factory.IdentifiedObjectFinder.Domain)">setSearchDomain(IdentifiedObjectFinder.Domain)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectFinder</a></dt>
<dd>
<div class="block">Sets the domain of the search (for example whether to include deprecated objects in the search).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#setSensingInstruments(java.util.Collection)">setSensingInstruments(Collection&lt;? extends Instrument&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Sets the instrument which senses the objective data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/CoordinateFormat.html#setSeparator(java.lang.String)">setSeparator(String)</a></span> - Method in class <a href="org/apache/sis/geometry/CoordinateFormat.html" title="class in org.apache.sis.geometry">CoordinateFormat</a></dt>
<dd>
<div class="block">Sets the separator between each coordinate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#setSeparator(java.lang.String)">setSeparator(String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Sets the string to use as a separator in a list of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html#setSeparator(java.lang.String)">setSeparator(String)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.Coder.html" title="class in org.apache.sis.referencing.gazetteer">MilitaryGridReferenceSystem.Coder</a></dt>
<dd>
<div class="block">Sets the separator to insert between each component of the MGRS identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#setSequence(org.opengis.metadata.acquisition.Sequence)">setSequence(Sequence)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Sets the relative time ordering of the event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#setSequenceBrackets(int,int)">setSequenceBrackets(int, int)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Sets the characters used for opening and closing a sequence of values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html#setSequenceIdentifier(org.opengis.util.MemberName)">setSequenceIdentifier(MemberName)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultRangeDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultRangeDimension</a></dt>
<dd>
<div class="block">Sets the name or number that uniquely identifies instances of bands of wavelengths on which a sensor operates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setSeries(org.opengis.metadata.citation.Series)">setSeries(Series)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the information about the series, or aggregate dataset, of which the dataset is a part.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setServiceStandards(java.util.Collection)">setServiceStandards(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets the standard(s) to which the service adheres.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setServiceType(org.opengis.util.GenericName)">setServiceType(GenericName)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets the service type name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html#setServiceTypeVersions(java.util.Collection)">setServiceTypeVersions(Collection&lt;? extends String&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultServiceIdentification</a></dt>
<dd>
<div class="block">Sets the versions of the service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setShortName(java.lang.String)">setShortName(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Removed as of ISO 19115:2014.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setShow(org.apache.sis.xml.XLink.Show)">setShow(XLink.Show)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets the desired presentation of the ending resource on traversal from the starting resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setSignificantEvents(java.util.Collection)">setSignificantEvents(Collection&lt;? extends Event&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the record of an event occurring during an operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#setSize(int)">setSize(int)</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Sets the size of the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#setSoftwareDevelopmentFile(java.net.URI)">setSoftwareDevelopmentFile(URI)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Sets the full application schema given as a software development file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html#setSoftwareDevelopmentFileFormat(java.lang.String)">setSoftwareDevelopmentFileFormat(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.html" title="class in org.apache.sis.metadata.iso">DefaultApplicationSchemaInformation</a></dt>
<dd>
<div class="block">Sets the software dependent format used for the application schema software dependent file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html#setSoftwareReferences(java.util.Collection)">setSoftwareReferences(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessing.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessing</a></dt>
<dd>
<div class="block">Sets the reference to document describing processing software.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#setSource(org.opengis.referencing.cs.CoordinateSystem)">setSource(CoordinateSystem)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Sets the source coordinate system to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#setSource(org.opengis.referencing.cs.EllipsoidalCS,org.opengis.referencing.datum.Ellipsoid)">setSource(EllipsoidalCS, Ellipsoid)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Sets the source coordinate system and its associated ellipsoid to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setSourceCitation(org.opengis.metadata.citation.Citation)">setSourceCitation(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets the recommended reference to be used for the source data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setSourceExtents(java.util.Collection)">setSourceExtents(Collection&lt;? extends Extent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, moved to <a href="org/apache/sis/metadata/iso/maintenance/DefaultScope.html#setExtents(java.util.Collection)"><code>DefaultScope.setExtents(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#setSourceFormat(java.lang.String)">setSourceFormat(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Sets the format for displaying the source, or hides the source field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setSourceMetadata(java.util.Collection)">setSourceMetadata(Collection&lt;? extends Citation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets the references to metadata for the source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setSourceReferenceSystem(org.opengis.referencing.ReferenceSystem)">setSourceReferenceSystem(ReferenceSystem)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets the spatial reference system used by the source data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html#setSources(java.util.Collection)">setSources(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultExtendedElementInformation.html" title="class in org.apache.sis.metadata.iso">DefaultExtendedElementInformation</a></dt>
<dd>
<div class="block">Sets the name of the person or organization creating the extended element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#setSources(java.util.Collection)">setSources(Collection&lt;? extends Source&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Sets information about the source data used in creating the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setSources(java.util.Collection)">setSources(Collection&lt;? extends Source&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Information about the source data used in creating the data specified by the scope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setSourceSpatialResolution(org.opengis.metadata.identification.Resolution)">setSourceSpatialResolution(Resolution)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets the spatial resolution expressed as a scale factor, an angle or a level of detail.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html#setSourceSteps(java.util.Collection)">setSourceSteps(Collection&lt;? extends ProcessStep&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultSource.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultSource</a></dt>
<dd>
<div class="block">Sets information about process steps in which this source was used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#setSourceToGrid(org.apache.sis.referencing.operation.transform.LinearTransform)">setSourceToGrid(LinearTransform)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Defines relationship between "real-world" source coordinates and grid coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#setSouthBoundLatitude(double)">setSouthBoundLatitude(double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Sets the southern-most coordinate of the limit of the dataset extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#setSpatialExtent(java.util.Collection)">setSpatialExtent(Collection&lt;? extends GeographicExtent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Sets the spatial extent component of composite spatial and temporal extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultMetadata.html#setSpatialRepresentationInfo(java.util.Collection)">setSpatialRepresentationInfo(Collection&lt;? extends SpatialRepresentation&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultMetadata.html" title="class in org.apache.sis.metadata.iso">DefaultMetadata</a></dt>
<dd>
<div class="block">Sets the digital representation of spatial information in the dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html#setSpatialRepresentationType(org.opengis.metadata.spatial.SpatialRepresentationType)">setSpatialRepresentationType(SpatialRepresentationType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultCoverageResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultCoverageResult</a></dt>
<dd>
<div class="block">Sets the method used to spatially represent the coverage result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setSpatialRepresentationTypes(java.util.Collection)">setSpatialRepresentationTypes(Collection&lt;? extends SpatialRepresentationType&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets the method used to spatially represent geographic information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setSpatialResolutions(java.util.Collection)">setSpatialResolutions(Collection&lt;? extends Resolution&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets the factor which provides a general understanding of the density of spatial data in the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#setSpecification(org.opengis.metadata.citation.Citation)">setSpecification(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultConformanceResult</a></dt>
<dd>
<div class="block">Sets the citation of product specification or user requirement against which data is being evaluated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#setSpecification(org.opengis.util.InternationalString)">setSpecification(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by
 <code><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFormatSpecificationCitation()">DefaultFormat.getFormatSpecificationCitation()</a>.<a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setTitle(org.opengis.util.InternationalString)">setTitle(InternationalString)</a></code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#setSpecificUsage(org.opengis.util.InternationalString)">setSpecificUsage(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Sets a brief description of the resource and/or resource series usage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html#setSponsors(java.util.Collection)">setSponsors(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlatform.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlatform</a></dt>
<dd>
<div class="block">Sets the organization responsible for building, launch, or operation of the platform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setStandardDeviation(java.lang.Double)">setStandardDeviation(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the standard deviation of data values in each dimension included in the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#setStartGeographicPoint(double,double)">setStartGeographicPoint(double, double)</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Sets the starting point as geographic (<var>latitude</var>, <var>longitude</var>) coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#setStartingAzimuth(double)">setStartingAzimuth(double)</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Sets the angular heading at the starting point of a geodesic path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#setStartPoint(org.opengis.geometry.coordinate.Position)">setStartPoint(Position)</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Sets the starting point as coordinates in arbitrary reference system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html#setStatement(org.opengis.util.InternationalString)">setStatement(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultReleasability.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultReleasability</a></dt>
<dd>
<div class="block">Sets the release statement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html#setStatement(org.opengis.util.InternationalString)">setStatement(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultLineage.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultLineage</a></dt>
<dd>
<div class="block">Sets the general explanation of the data producers knowledge about the lineage of a dataset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setStatus(java.util.Collection)">setStatus(Collection&lt;? extends Progress&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets the status of the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setStatus(org.opengis.metadata.identification.Progress)">setStatus(Progress)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the status of the data acquisition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#setStatus(org.opengis.metadata.identification.Progress)">setStatus(Progress)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Sets the current status of the plan (pending, completed, etc.)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html#setStepDateTime(org.opengis.temporal.TemporalPrimitive)">setStepDateTime(TemporalPrimitive)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/lineage/DefaultProcessStep.html" title="class in org.apache.sis.metadata.iso.lineage">DefaultProcessStep</a></dt>
<dd>
<div class="block">Sets the date, time or range of date and time over which the process step occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#setStyle(org.apache.sis.measure.UnitFormat.Style)">setStyle(UnitFormat.Style)</a></span> - Method in class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Sets whether unit formatting should use ASCII symbols, Unicode symbols or full localized names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html#setSuperTypes(org.apache.sis.feature.DefaultFeatureType...)">setSuperTypes(DefaultFeatureType...)</a></span> - Method in class <a href="org/apache/sis/feature/builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></dt>
<dd>
<div class="block">Sets the parent types (or super-type) from which to inherit properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html#setSupplementalInformation(org.opengis.util.InternationalString)">setSupplementalInformation(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultDataIdentification.html" title="class in org.apache.sis.metadata.iso.identification">DefaultDataIdentification</a></dt>
<dd>
<div class="block">Sets any other descriptive information about the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setSymbols(org.apache.sis.io.wkt.Symbols)">setSymbols(Symbols)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets the symbols used for parsing and formatting WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#setTabulationExpanded(boolean)">setTabulationExpanded(boolean)</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Sets whether this class formatter expands tabulations into spaces.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/LineAppender.html#setTabulationWidth(int)">setTabulationWidth(int)</a></span> - Method in class <a href="org/apache/sis/io/LineAppender.html" title="class in org.apache.sis.io">LineAppender</a></dt>
<dd>
<div class="block">Sets the tabulation width, in unit of Unicode characters (code point count).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#setTarget(org.opengis.referencing.cs.CoordinateSystem)">setTarget(CoordinateSystem)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Sets the target coordinate system to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html#setTarget(org.opengis.referencing.cs.EllipsoidalCS,org.opengis.referencing.datum.Ellipsoid)">setTarget(EllipsoidalCS, Ellipsoid)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.Context.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory.Context</a></dt>
<dd>
<div class="block">Sets the target coordinate system and its associated ellipsoid to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#setTemporalElements(java.util.Collection)">setTemporalElements(Collection&lt;? extends TemporalExtent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Sets temporal component of the extent of the referring object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#setTerritoryOfUse(java.lang.String)">setTerritoryOfUse(String)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Sets the name of the geographic area within which the location type occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#setTerritoryOfUse(org.opengis.metadata.extent.GeographicExtent)">setTerritoryOfUse(GeographicExtent)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Sets the geographic area within which the location type occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html#setTheme(java.lang.CharSequence)">setTheme(CharSequence)</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a></dt>
<dd>
<div class="block">Sets the property used as the defining characteristic of the location type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#setThesaurusName(org.opengis.metadata.citation.Citation)">setThesaurusName(Citation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Sets the name of the formally registered thesaurus or a similar authoritative source of keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#setTime(java.util.Date)">setTime(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Sets the time the event occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/MonolineFormatter.html#setTimeFormat(java.lang.String)">setTimeFormat(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/MonolineFormatter.html" title="class in org.apache.sis.util.logging">MonolineFormatter</a></dt>
<dd>
<div class="block">Sets the format for elapsed time, or hides the time field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#setTimeout(long,java.util.concurrent.TimeUnit)">setTimeout(long, TimeUnit)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Sets a timer for closing the Data Access Object after the specified amount of time of inactivity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#setTimeRange(java.time.Instant,java.time.Instant)">setTimeRange(Instant, Instant)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">If this envelope has a temporal component, set this temporal dimension to the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setTitle(org.opengis.util.InternationalString)">setTitle(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html" title="class in org.apache.sis.metadata.iso.citation">DefaultCitation</a></dt>
<dd>
<div class="block">Sets the name by which the cited resource is known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setTitle(org.opengis.util.InternationalString)">setTitle(InternationalString)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets a human-readable string with a short description for the arc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setTo(java.lang.String)">setTo(String)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets the ending resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#setToInfinite()">setToInfinite()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Sets the lower corner to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NEGATIVE_INFINITY" title="class or interface in java.lang" class="externalLink">negative infinity</a>
 and the upper corner to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#POSITIVE_INFINITY" title="class or interface in java.lang" class="externalLink">positive infinity</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#setToNaN()">setToNaN()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Sets all coordinate values to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setToneGradation(java.lang.Integer)">setToneGradation(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the number of discrete numerical values in the grid data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html#setTopicCategories(java.util.Collection)">setTopicCategories(Collection&lt;? extends TopicCategory&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/AbstractIdentification.html" title="class in org.apache.sis.metadata.iso.identification">AbstractIdentification</a></dt>
<dd>
<div class="block">Sets the main theme(s) of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html#setTopologyLevel(org.opengis.metadata.spatial.TopologyLevel)">setTopologyLevel(TopologyLevel)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultVectorSpatialRepresentation</a></dt>
<dd>
<div class="block">Sets the code which identifies the degree of complexity of the spatial relationships.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#setTransferFrequency(org.opengis.temporal.PeriodDuration)">setTransferFrequency(PeriodDuration)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Sets the rate of occurrence of distribution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setTransferFunctionType(org.opengis.metadata.content.TransferFunctionType)">setTransferFunctionType(TransferFunctionType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the type of transfer function to be used when scaling a physical value for a given element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setTransferFunctionType(org.opengis.metadata.content.TransferFunctionType)">setTransferFunctionType(TransferFunctionType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the type of transfer function to be used when scaling a physical value for a given element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html#setTransferOptions(java.util.Collection)">setTransferOptions(Collection&lt;? extends DigitalTransferOptions&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDistribution.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDistribution</a></dt>
<dd>
<div class="block">Sets information about technical means and media by which a resource is obtained
 from the distributor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#setTransferSize(java.lang.Double)">setTransferSize(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Sets an estimated size of a unit in the specified transfer format, expressed in megabytes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#setTransform(org.opengis.referencing.operation.MathTransform1D)">setTransform(MathTransform1D)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Sets the transform from sample values to geophysics values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#setTransformationDimensionDescription(org.opengis.util.InternationalString)">setTransformationDimensionDescription(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Sets a general description of the transformation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html#setTransformationDimensionMapping(java.util.Collection)">setTransformationDimensionMapping(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGeorectified.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGeorectified</a></dt>
<dd>
<div class="block">Sets information about which grid dimensions are the spatial dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html#setTransformationParameterAvailable(boolean)">setTransformationParameterAvailable(boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.html" title="class in org.apache.sis.metadata.iso.spatial">DefaultGridSpatialRepresentation</a></dt>
<dd>
<div class="block">Sets indication of whether or not parameters for transformation exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#setTransliterator(org.apache.sis.io.wkt.Transliterator)">setTransliterator(Transliterator)</a></span> - Method in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Sets the mapper between Java character sequences and the characters to write in WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setTransmittedPolarization(org.opengis.metadata.content.PolarizationOrientation)">setTransmittedPolarization(PolarizationOrientation)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the polarization of the radiation transmitted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html#setTriangulationIndicator(java.lang.Boolean)">setTriangulationIndicator(Boolean)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultImageDescription.html" title="class in org.apache.sis.metadata.iso.content">DefaultImageDescription</a></dt>
<dd>
<div class="block">Sets the indication of whether or not triangulation has been performed upon the image.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html#setTrigger(org.opengis.metadata.acquisition.Trigger)">setTrigger(Trigger)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultEvent.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultEvent</a></dt>
<dd>
<div class="block">Sets the initiator of the event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html#setTurnaround(org.opengis.util.InternationalString)">setTurnaround(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultStandardOrderProcess</a></dt>
<dd>
<div class="block">Sets typical turnaround time for the filling of an order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#setType(org.apache.sis.xml.XLink.Type)">setType(XLink.Type)</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Sets the type of link.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html#setType(org.opengis.metadata.acquisition.GeometryType)">setType(GeometryType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultPlan.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultPlan</a></dt>
<dd>
<div class="block">Sets the manner of sampling geometry that the planner expects for collection of
 objective data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html#setType(org.opengis.metadata.acquisition.OperationType)">setType(OperationType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultOperation.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultOperation</a></dt>
<dd>
<div class="block">Sets the collection technique for the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#setType(org.opengis.metadata.content.TransferFunctionType)">setType(TransferFunctionType)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Sets the transfer function type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html#setType(org.opengis.metadata.identification.KeywordType)">setType(KeywordType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultKeywords.html" title="class in org.apache.sis.metadata.iso.identification">DefaultKeywords</a></dt>
<dd>
<div class="block">Sets the subject matter used to group similar keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html#setType(org.opengis.util.InternationalString)">setType(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultInstrument.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultInstrument</a></dt>
<dd>
<div class="block">Sets the name of the type of instrument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html#setTypes(java.util.Collection)">setTypes(Collection&lt;? extends ObjectiveType&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/acquisition/DefaultObjective.html" title="class in org.apache.sis.metadata.iso.acquisition">DefaultObjective</a></dt>
<dd>
<div class="block">Sets the collection technique for the objective.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html#setUnavailableFactory(org.opengis.referencing.AuthorityFactory)">setUnavailableFactory(AuthorityFactory)</a></span> - Method in exception <a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html" title="class in org.apache.sis.referencing.factory">UnavailableFactoryException</a></dt>
<dd>
<div class="block">Specifies which factory is unavailable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultBand.html#setUnits(javax.measure.Unit)">setUnits(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultBand.html" title="class in org.apache.sis.metadata.iso.content">DefaultBand</a></dt>
<dd>
<div class="block">Sets the units of data as a unit of length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html#setUnits(javax.measure.Unit)">setUnits(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/content/DefaultSampleDimension.html" title="class in org.apache.sis.metadata.iso.content">DefaultSampleDimension</a></dt>
<dd>
<div class="block">Sets the units of data in the dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html#setUnitsOfDistribution(org.opengis.util.InternationalString)">setUnitsOfDistribution(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultDigitalTransferOptions</a></dt>
<dd>
<div class="block">Sets tiles, layers, geographic areas, <i>etc.</i>, in which data is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setUpdateScopeDescriptions(java.util.Collection)">setUpdateScopeDescriptions(Collection&lt;? extends ScopeDescription&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setMaintenanceScopes(java.util.Collection)"><code>DefaultMaintenanceInformation.setMaintenanceScopes(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setUpdateScopes(java.util.Collection)">setUpdateScopes(Collection&lt;? extends ScopeCode&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setMaintenanceScopes(java.util.Collection)"><code>DefaultMaintenanceInformation.setMaintenanceScopes(Collection)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#setUsageDate(java.util.Date)">setUsageDate(Date)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Sets the date and time of the first use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html#setUseConstraints(java.util.Collection)">setUseConstraints(Collection&lt;? extends Restriction&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultLegalConstraints</a></dt>
<dd>
<div class="block">Sets the constraints applied to assure the protection of privacy or intellectual property,
 and any special restrictions or limitations or warnings on using the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html#setUseLimitations(java.util.Collection)">setUseLimitations(Collection&lt;? extends InternationalString&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultConstraints</a></dt>
<dd>
<div class="block">Sets the limitation affecting the fitness for use of the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#setUseParentHandlers(boolean)">setUseParentHandlers(boolean)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Do nothing since this logger never use parent handlers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#setUserContactInfo(java.util.Collection)">setUserContactInfo(Collection&lt;? extends ResponsibleParty&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Sets identification of and means of communicating with person(s) and organization(s) using the resource(s).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html#setUserDefinedMaintenanceFrequency(org.opengis.temporal.PeriodDuration)">setUserDefinedMaintenanceFrequency(PeriodDuration)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.html" title="class in org.apache.sis.metadata.iso.maintenance">DefaultMaintenanceInformation</a></dt>
<dd>
<div class="block">Sets the maintenance period other than those defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html#setUserDeterminedLimitations(org.opengis.util.InternationalString)">setUserDeterminedLimitations(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultUsage.html" title="class in org.apache.sis.metadata.iso.identification">DefaultUsage</a></dt>
<dd>
<div class="block">Sets applications, determined by the user for which the resource and/or resource series is not suitable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html#setUserNote(org.opengis.util.InternationalString)">setUserNote(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.html" title="class in org.apache.sis.metadata.iso.constraint">DefaultSecurityConstraints</a></dt>
<dd>
<div class="block">Sets the explanation of the application of the legal constraints or other restrictions and legal
 prerequisites for obtaining and using the resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setValidValues(V...)">setValidValues(V...)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets an enumeration of valid values for the attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#setValue(boolean)">setValue(boolean)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Sets the parameter value as a boolean.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#setValue(double)">setValue(double)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Sets the parameter value as a floating point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#setValue(double%5B%5D,javax.measure.Unit)">setValue(double[], Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Sets the parameter value as an array of floating point and their associated unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#setValue(double,javax.measure.Unit)">setValue(double, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Sets the parameter value as a floating point and its associated unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#setValue(int)">setValue(int)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Sets the parameter value as an integer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#setValue(java.lang.Object)">setValue(Object)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Sets the parameter value as an object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#setValue(java.lang.Object,javax.measure.Unit)">setValue(Object, Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Sets the parameter value and its associated unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#setValue(org.apache.sis.feature.AbstractFeature)">setValue(AbstractFeature)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Sets the associated feature.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#setValue(org.apache.sis.util.collection.TableColumn,V)">setValue(TableColumn&lt;V&gt;, V)</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Sets the value for the given column.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTable.Node.html#setValue(org.apache.sis.util.collection.TableColumn,V)">setValue(TableColumn&lt;V&gt;, V)</a></span> - Method in interface <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection">TreeTable.Node</a></dt>
<dd>
<div class="block">Sets the value for the given column (optional operation).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#setValue(V)">setValue(V)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Sets the attribute value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html#setValueClass(java.lang.Class)">setValueClass(Class&lt;N&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/builder/AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a></dt>
<dd>
<div class="block">Sets the class of attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html#setValueClass(java.lang.Class)">setValueClass(Class&lt;N&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/builder/CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a></dt>
<dd>
<div class="block">Sets the class of characteristic values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#setValueInto(java.util.Map,T)">setValueInto(Map&lt;OptionKey&lt;?&gt;, Object&gt;, T)</a></span> - Method in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Sets a value for this option key in the given map, or in a new map if the given map is <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#setValues(double...)">setValues(double...)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Sets the parameters to the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#setValues(double...)">setValues(double...)</a></span> - Method in class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Sets the parameters to the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#setValues(java.util.Collection)">setValues(Collection&lt;? extends AbstractFeature&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Sets the features.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#setValues(java.util.Collection)">setValues(Collection&lt;? extends V&gt;)</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Sets the attribute values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#setValues(java.util.List)">setValues(List&lt;? extends Record&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Sets the quantitative value or values, content determined by the evaluation procedure used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#setValueType(org.opengis.util.RecordType)">setValueType(RecordType)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Sets the value type for reporting a data quality result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html#setValueUnit(javax.measure.Unit)">setValueUnit(Unit&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.html" title="class in org.apache.sis.metadata.iso.quality">DefaultQuantitativeResult</a></dt>
<dd>
<div class="block">Sets the value unit for reporting a data quality result.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/DefaultIdentifier.html#setVersion(java.lang.String)">setVersion(String)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso">DefaultIdentifier</a></dt>
<dd>
<div class="block">Sets the version identifier for the namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/Builder.html#setVersion(java.lang.String)">setVersion(String)</a></span> - Method in class <a href="org/apache/sis/referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></dt>
<dd>
<div class="block">Sets the <code>Identifier</code> version of object definitions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#setVersion(org.opengis.util.InternationalString)">setVersion(InternationalString)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultFormat</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by
 <code><a href="org/apache/sis/metadata/iso/distribution/DefaultFormat.html#getFormatSpecificationCitation()">DefaultFormat.getFormatSpecificationCitation()</a>.<a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#setEdition(org.opengis.util.InternationalString)">setEdition(InternationalString)</a></code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html#setVertical(java.lang.Double)">setVertical(Double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultResolution.html" title="class in org.apache.sis.metadata.iso.identification">DefaultResolution</a></dt>
<dd>
<div class="block">Sets the vertical sampling distance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html#setVerticalCRS(org.opengis.referencing.crs.VerticalCRS)">setVerticalCRS(VerticalCRS)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultVerticalExtent</a></dt>
<dd>
<div class="block">Sets the information about the vertical coordinate reference system to
 which the maximum and minimum elevation values are measured.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html#setVerticalElements(java.util.Collection)">setVerticalElements(Collection&lt;? extends VerticalExtent&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultExtent</a></dt>
<dd>
<div class="block">Sets vertical component of the extent of the referring object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html#setVerticalExtent(org.opengis.metadata.extent.VerticalExtent)">setVerticalExtent(VerticalExtent)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.html" title="class in org.apache.sis.metadata.iso.extent">DefaultSpatialTemporalExtent</a></dt>
<dd>
<div class="block">Sets the vertical extent component.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#setVerticalLinePosition(int)">setVerticalLinePosition(int)</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Sets the position of the vertical line, relative to the position of the root label.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#setVoices(java.util.Collection)">setVoices(Collection&lt;? extends String&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html" title="class in org.apache.sis.metadata.iso.citation">DefaultTelephone</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by a <a href="org/apache/sis/metadata/iso/citation/DefaultTelephone.html#setNumber(java.lang.String)">number</a>
             code <code>TelephoneType.VOICE</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html#setVolumes(java.lang.Integer)">setVolumes(Integer)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/distribution/DefaultMedium.html" title="class in org.apache.sis.metadata.iso.distribution">DefaultMedium</a></dt>
<dd>
<div class="block">Sets the number of items in the media identified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html#setWestBoundLongitude(double)">setWestBoundLongitude(double)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></dt>
<dd>
<div class="block">Sets the western-most coordinate of the limit of the dataset extent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Builder.html#setWindowSize(java.awt.Dimension)">setWindowSize(Dimension)</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Builder.html" title="class in org.apache.sis.image">PixelIterator.Builder</a></dt>
<dd>
<div class="block">Sets the size of the window to use in <a href="org/apache/sis/image/PixelIterator.html#createWindow(org.apache.sis.image.TransferType)"><code>PixelIterator.createWindow(TransferType)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#severe(java.lang.String)">severe(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Level.html?is-external=true#SEVERE" title="class or interface in java.util.logging" class="externalLink"><code>SEVERE</code></a> message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#severeException(java.util.logging.Logger,java.lang.Class,java.lang.String,java.lang.Throwable)">severeException(Logger, Class&lt;?&gt;, String, Throwable)</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Invoked when a severe error occurred.</div>
</dd>
<dt><a href="org/apache/sis/geometry/Shapes2D.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">Shapes2D</span></a> - Class in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">Utility methods working on Java2D shapes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordStyle.html#SHORT">SHORT</a></span> - <a href="org/apache/sis/io/wkt/KeywordStyle.html" title="enum in org.apache.sis.io.wkt">KeywordStyle</a></dt>
<dd>
<div class="block">Short keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#SHORT">SHORT</a></span> - Static variable in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Constant of value 4 used in <code>switch</code> statements or as index in arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#shortOrLong(java.lang.String,java.lang.String)">shortOrLong(String, String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Selects a short or long keyword depending on the <a href="org/apache/sis/io/wkt/KeywordStyle.html" title="enum in org.apache.sis.io.wkt"><code>KeywordStyle</code></a> value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#shortSentence(java.lang.CharSequence,int)">shortSentence(CharSequence, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Makes sure that the <code>text</code> string is not longer than <code>maxLength</code> characters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#shortValue()">shortValue()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns this fraction rounded toward zero, if the result can be represented as a short integer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#shortValue(int)">shortValue(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the value at the given index as a <code>short</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#SIEMENS">SIEMENS</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for electric conductance (S).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#signum()">signum()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns the sign of this fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#SIMPLE">SIMPLE</a></span> - <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">A simple link.</div>
</dd>
<dt><a href="org/apache/sis/util/iso/SimpleInternationalString.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">SimpleInternationalString</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">An international string consisting of a single string for all locales.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/SimpleInternationalString.html#%3Cinit%3E(java.lang.String)">SimpleInternationalString(String)</a></span> - Constructor for class <a href="org/apache/sis/util/iso/SimpleInternationalString.html" title="class in org.apache.sis.util.iso">SimpleInternationalString</a></dt>
<dd>
<div class="block">Creates a new instance from the given string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#simplify()">simplify()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Ensures that <var>lower</var> ≦ <var>upper</var> for every dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#simplify()">simplify()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns a fraction equivalent to <code>this</code> but represented by the smallest possible numerator
 and denominator values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#SINGLE_LINE">SINGLE_LINE</a></span> - Static variable in class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">The indentation value to give to the <a href="org/apache/sis/io/wkt/WKTFormat.html#setIndentation(int)"><code>WKTFormat.setIndentation(int)</code></a>
 method for formatting the complete object on a single line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#singleton(E,java.lang.Class)">singleton(E, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Creates a singleton list or set containing only the given value, if non-null.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">Sinusoidal</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Sinusoidal equal-area</cite> projection, also known as <cite>"Sanson-Flamsteed"</cite>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">Sinusoidal(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html" title="class in org.apache.sis.referencing.operation.projection">Sinusoidal</a></dt>
<dd>
<div class="block">Creates a Sinusoidal projection from the given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#SIS">SIS</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The codespace of objects that are specific to the <a href="http://sis.apache.org">Apache SIS</a> project.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Locales.html#SIS">SIS</a></span> - Static variable in class <a href="org/apache/sis/util/Locales.html" title="class in org.apache.sis.util">Locales</a></dt>
<dd>
<div class="block">Only locales available in the Apache SIS library.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#SIS">SIS</a></span> - Static variable in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">The version of this Apache SIS distribution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTree.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/index/tree/QuadTree.html" title="class in org.apache.sis.index.tree">QuadTree</a></dt>
<dd>
<div class="block">Returns the size of the quad tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns the number of elements in this vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/IdentifiedObjectSet.html" title="class in org.apache.sis.referencing.factory">IdentifiedObjectSet</a></dt>
<dd>
<div class="block">Returns the number of objects available in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Cache.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/util/collection/Cache.html" title="class in org.apache.sis.util.collection">Cache</a></dt>
<dd>
<div class="block">Returns the number of elements in this cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/CodeListSet.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/util/collection/CodeListSet.html" title="class in org.apache.sis.util.collection">CodeListSet</a></dt>
<dd>
<div class="block">Returns the number of elements in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns the number of elements in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns the current number of values in this list.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns the number of ranges in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Returns the count of element in this set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#size()">size()</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Returns the number of key-value mappings in this map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#SIZE">SIZE</a></span> - Static variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">The matrix size, which is 1.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#SIZE">SIZE</a></span> - Static variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">The matrix size, which is 2.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#SIZE">SIZE</a></span> - Static variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">The matrix size, which is 3.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#SIZE">SIZE</a></span> - Static variable in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">The matrix size, which is 4.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#skipLeadingWhitespaces(java.lang.CharSequence,int,int)">skipLeadingWhitespaces(CharSequence, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the index of the first non-white character in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#skipTrailingWhitespaces(java.lang.CharSequence,int,int)">skipTrailingWhitespaces(CharSequence, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the index <em>after</em> the last non-white character in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#slice(org.opengis.geometry.DirectPosition)">slice(DirectPosition)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Requests a grid geometry for a slice at the given "real world" position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#sliceByRatio(double,int...)">sliceByRatio(double, int...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Requests a grid geometry for a slice at the given relative position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#slope()">slope()</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Returns the slope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#slopeX()">slopeX()</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Returns the slope along the <var>x</var> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#slopeY()">slopeY()</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Returns the slope along the <var>y</var> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/PerformanceLevel.html#SLOW">SLOW</a></span> - Static variable in class <a href="org/apache/sis/util/logging/PerformanceLevel.html" title="class in org.apache.sis.util.logging">PerformanceLevel</a></dt>
<dd>
<div class="block">The level for logging relatively slow events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/PerformanceLevel.html#SLOWER">SLOWER</a></span> - Static variable in class <a href="org/apache/sis/util/logging/PerformanceLevel.html" title="class in org.apache.sis.util.logging">PerformanceLevel</a></dt>
<dd>
<div class="block">The level for logging only events slower than the ones logged at the <a href="org/apache/sis/util/logging/PerformanceLevel.html#SLOW"><code>PerformanceLevel.SLOW</code></a> level.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/PerformanceLevel.html#SLOWEST">SLOWEST</a></span> - Static variable in class <a href="org/apache/sis/util/logging/PerformanceLevel.html" title="class in org.apache.sis.util.logging">PerformanceLevel</a></dt>
<dd>
<div class="block">The level for logging only slowest events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#SOFT_HYPHEN">SOFT_HYPHEN</a></span> - Static variable in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Hyphen character to be visible only if there is a line break to insert after it
 (Unicode <code>00AD</code>, HTML <code>&amp;shy;</code>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#solve(org.opengis.referencing.operation.Matrix)">solve(Matrix)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns the value of <var>U</var> which solves <code>this</code> × <var>U</var> = <code>matrix</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#SOURCE">SOURCE</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "source" attribute name for the method of production of the original data (<em>Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#sourceDimensions">sourceDimensions</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Indices of transform input dimensions to keep, or <code>null</code> if not yet defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#spaces(int)">spaces(int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns a character sequence of the specified length filled with white spaces.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#span()">span()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Equivalents to <a href="org/apache/sis/math/Statistics.html#maximum()">maximum</a> - <a href="org/apache/sis/math/Statistics.html#minimum()">minimum</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html#SPAN">SPAN</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Dimension</a></dt>
<dd>
<div class="block">The attribute name for the difference between the minimal and maximal values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/DefaultConversion.html#specialize(java.lang.Class,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.crs.CoordinateReferenceSystem,org.opengis.referencing.operation.MathTransformFactory)">specialize(Class&lt;T&gt;, CoordinateReferenceSystem, CoordinateReferenceSystem, MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/DefaultConversion.html" title="class in org.apache.sis.referencing.operation">DefaultConversion</a></dt>
<dd>
<div class="block">Returns a specialization of this conversion with a more specific type, source and target CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#specialize(org.opengis.referencing.operation.MathTransform,java.util.Map)">specialize(MathTransform, Map&lt;Envelope, MathTransform&gt;)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Creates a transform defined as one transform applied globally except in sub-areas where more accurate
 transforms are available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#SPHERE">SPHERE</a></span> - <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Unspecified datum based upon the GRS 1980 Authalic Sphere.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#spherical()">spherical()</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the geocentric CRS using a spherical coordinate system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#split(java.lang.CharSequence,char)">split(CharSequence, char)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Splits a text around the given character.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#spliterator()">spliterator()</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns an spliterator over the elements in this list in increasing index order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#splitOnEOL(java.lang.CharSequence)">splitOnEOL(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Splits a text around the <cite>End Of Line</cite> (EOL) characters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#SQL_EXCEPTION_EXIT_CODE">SQL_EXCEPTION_EXIT_CODE</a></span> - Static variable in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">The code given to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#exit(int)" title="class or interface in java.lang" class="externalLink"><code>System.exit(int)</code></a> when the program failed because of an <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql" class="externalLink"><code>SQLException</code></a>.</div>
</dd>
<dt><a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql"><span class="typeNameLink">SQLStore</span></a> - Class in <a href="org/apache/sis/storage/sql/package-summary.html">org.apache.sis.storage.sql</a></dt>
<dd>
<div class="block">A data store capable to read and create features from a spatial database.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStore.html#%3Cinit%3E(org.apache.sis.storage.sql.SQLStoreProvider,org.apache.sis.storage.StorageConnector,org.opengis.util.GenericName...)">SQLStore(SQLStoreProvider, StorageConnector, GenericName...)</a></span> - Constructor for class <a href="org/apache/sis/storage/sql/SQLStore.html" title="class in org.apache.sis.storage.sql">SQLStore</a></dt>
<dd>
<div class="block">Creates a new instance for the given storage.</div>
</dd>
<dt><a href="org/apache/sis/storage/sql/SQLStoreProvider.html" title="class in org.apache.sis.storage.sql"><span class="typeNameLink">SQLStoreProvider</span></a> - Class in <a href="org/apache/sis/storage/sql/package-summary.html">org.apache.sis.storage.sql</a></dt>
<dd>
<div class="block">Provider of <code>SQLStore</code> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/sql/SQLStoreProvider.html#%3Cinit%3E()">SQLStoreProvider()</a></span> - Constructor for class <a href="org/apache/sis/storage/sql/SQLStoreProvider.html" title="class in org.apache.sis.storage.sql">SQLStoreProvider</a></dt>
<dd>
<div class="block">Creates a new provider.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html" title="class in org.apache.sis.referencing.factory.sql"><span class="typeNameLink">SQLTranslator</span></a> - Class in <a href="org/apache/sis/referencing/factory/sql/package-summary.html">org.apache.sis.referencing.factory.sql</a></dt>
<dd>
<div class="block">Converts the SQL statements from MS-Access dialect to standard SQL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html#%3Cinit%3E(java.sql.DatabaseMetaData,java.lang.String,java.lang.String)">SQLTranslator(DatabaseMetaData, String, String)</a></span> - Constructor for class <a href="org/apache/sis/referencing/factory/sql/SQLTranslator.html" title="class in org.apache.sis.referencing.factory.sql">SQLTranslator</a></dt>
<dd>
<div class="block">Creates a new SQL translator for the database described by the given metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#SQRT_2">SQRT_2</a></span> - Static variable in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">The square root of 2, which is approximated by 1.4142135623730951.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#SQUARE_BRACKETS">SQUARE_BRACKETS</a></span> - Static variable in class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">A set of symbols with values between square brackets, like <code>DATUM["WGS84"]</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#SQUARE_METRE">SQUARE_METRE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for area (m²).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#SRV">SRV</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://standards.iso.org/iso/19115/-3/srv/2.0"</code> URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataSource.html#standard">standard</a></span> - Variable in class <a href="org/apache/sis/metadata/sql/MetadataSource.html" title="class in org.apache.sis.metadata.sql">MetadataSource</a></dt>
<dd>
<div class="block">The metadata standard to be used for constructing the database schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#STANDARD_NAME">STANDARD_NAME</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for a long descriptive name for the variable taken from a controlled
 vocabulary of variable names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#standardDeviation(boolean)">standardDeviation(boolean)</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the standard deviation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#startsAtZero()">startsAtZero()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns <code>true</code> if all low coordinates are zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#startsWith(java.lang.CharSequence,java.lang.CharSequence,boolean)">startsWith(CharSequence, CharSequence, boolean)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given character sequence starts with the given prefix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#state()">state()</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Tells whether this instance of metadata is editable.</div>
</dd>
<dt><a href="org/apache/sis/util/Static.html" title="class in org.apache.sis.util"><span class="typeNameLink">Static</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Parent of SIS classes that contain only static utility methods, for documentation purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Static.html#%3Cinit%3E()">Static()</a></span> - Constructor for class <a href="org/apache/sis/util/Static.html" title="class in org.apache.sis.util">Static</a></dt>
<dd>
<div class="block">For subclasses only.</div>
</dd>
<dt><a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math"><span class="typeNameLink">Statistics</span></a> - Class in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">Holds some statistics derived from a series of sample values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#%3Cinit%3E(java.lang.CharSequence)">Statistics(CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Constructs an initially empty set of statistics.</div>
</dd>
<dt><a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math"><span class="typeNameLink">StatisticsFormat</span></a> - Class in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">Formats a <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math"><code>Statistics</code></a> object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/StatisticsFormat.html#%3Cinit%3E(java.util.Locale,java.util.Locale,java.util.TimeZone)">StatisticsFormat(Locale, Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/math/StatisticsFormat.html" title="class in org.apache.sis.math">StatisticsFormat</a></dt>
<dd>
<div class="block">Constructs a new format for the given numeric and header locales.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#STATUTE_MILE">STATUTE_MILE</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as exactly 1609.344 metres (1 mi).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#STERADIAN">STERADIAN</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI unit for solid angles (sr).</div>
</dd>
<dt><a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage"><span class="typeNameLink">StorageConnector</span></a> - Class in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Information for creating a connection to a <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><code>DataStore</code></a> in read and/or write mode.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#%3Cinit%3E(java.lang.Object)">StorageConnector(Object)</a></span> - Constructor for class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Creates a new data store connection wrapping the given input/output object.</div>
</dd>
<dt><a href="org/apache/sis/storage/event/StoreEvent.html" title="class in org.apache.sis.storage.event"><span class="typeNameLink">StoreEvent</span></a> - Class in <a href="org/apache/sis/storage/event/package-summary.html">org.apache.sis.storage.event</a></dt>
<dd>
<div class="block">Parent class of events happening in a data store resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreEvent.html#%3Cinit%3E(org.apache.sis.storage.Resource)">StoreEvent(Resource)</a></span> - Constructor for class <a href="org/apache/sis/storage/event/StoreEvent.html" title="class in org.apache.sis.storage.event">StoreEvent</a></dt>
<dd>
<div class="block">Constructs an event that occurred in the given resource.</div>
</dd>
<dt><a href="org/apache/sis/storage/event/StoreListener.html" title="interface in org.apache.sis.storage.event"><span class="typeNameLink">StoreListener</span></a>&lt;<a href="org/apache/sis/storage/event/StoreListener.html" title="type parameter in StoreListener">T</a> extends <a href="org/apache/sis/storage/event/StoreEvent.html" title="class in org.apache.sis.storage.event">StoreEvent</a>&gt; - Interface in <a href="org/apache/sis/storage/event/package-summary.html">org.apache.sis.storage.event</a></dt>
<dd>
<div class="block">An object which listens for events (typically changes or warnings) occurring in a resource
 or one of its children.</div>
</dd>
<dt><a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event"><span class="typeNameLink">StoreListeners</span></a> - Class in <a href="org/apache/sis/storage/event/package-summary.html">org.apache.sis.storage.event</a></dt>
<dd>
<div class="block">Holds a list of <a href="org/apache/sis/storage/event/StoreListener.html" title="interface in org.apache.sis.storage.event"><code>StoreListener</code></a> instances and provides convenience methods for sending events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#%3Cinit%3E(org.apache.sis.storage.event.StoreListeners,org.apache.sis.storage.Resource)">StoreListeners(StoreListeners, Resource)</a></span> - Constructor for class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Creates a new instance with the given parent and initially no listener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#stream(boolean)">stream(boolean)</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Returns a stream of integers with this <code>IntegerList</code> as its source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#STRICT">STRICT</a></span> - <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">All attributes of the compared objects shall be strictly equal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#STRING_SUBSTITUTES">STRING_SUBSTITUTES</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Allows marshallers to substitute some code lists by the simpler <code>&lt;gco:CharacterString&gt;</code> element.</div>
</dd>
<dt><a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util"><span class="typeNameLink">StringBuilders</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods working on <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>StringBuilder</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#stringValue()">stringValue()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns the string value of this parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#stringValue(int)">stringValue(int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a string representation of the value at the given index.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#stringValue(org.opengis.parameter.ParameterDescriptor)">stringValue(ParameterDescriptor&lt;? extends CharSequence&gt;)</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the string value of the parameter identified by the given descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#subEnvelope(int,int)">subEnvelope(int, int)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Returns a view over this envelope that encompass only some dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#subgrid(org.apache.sis.coverage.grid.GridGeometry)">subgrid(GridGeometry)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Adapts the base grid for the geographic area and resolution of the given grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#subgrid(org.opengis.geometry.Envelope,double...)">subgrid(Envelope, double...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Requests a grid geometry over a sub-region of the base grid geometry and optionally with subsampling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#subList(int,int)">subList(int, int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a view which contain the values of this vector in the given index range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#subsample(int...)">subsample(int...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Applies a subsampling on the grid geometry to build.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#subsample(int...)">subsample(int...)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Creates a new grid extent subsampled by the given amount of cells along each grid dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#subSampling(int,int,int)">subSampling(int, int, int)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a view which contain the values of this vector in a given index range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html#subSequence(int,int)">subSequence(int, int)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html" title="class in org.apache.sis.metadata.iso.maintenance">LegacyFeatureType</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractInternationalString.html#subSequence(int,int)">subSequence(int, int)</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso">AbstractInternationalString</a></dt>
<dd>
<div class="block">Returns a subsequence of the string in the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true#getDefault()" title="class or interface in java.util" class="externalLink">default locale</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#subSequence(int,int)">subSequence(int, int)</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns a new version string that is a subsequence of this sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/FeatureSet.html#subset(org.apache.sis.storage.Query)">subset(Query)</a></span> - Method in interface <a href="org/apache/sis/storage/FeatureSet.html" title="interface in org.apache.sis.storage">FeatureSet</a></dt>
<dd>
<div class="block">Requests a subset of features and/or feature properties from this resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#subSet(E,E)">subSet(E, E)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns a view of the portion of this set whose elements occur with a frequency in the range of
 <code>fromElement</code> frequency inclusive to <code>toElement</code> frequency exclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#subSet(org.apache.sis.measure.Range,org.apache.sis.measure.Range)">subSet(Range&lt;E&gt;, Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a view of the portion of this sorted set whose elements range
 from <code>lower</code>, inclusive, to <code>upper</code>, exclusive.</div>
</dd>
<dt><a href="org/apache/sis/coverage/SubspaceNotSpecifiedException.html" title="class in org.apache.sis.coverage"><span class="typeNameLink">SubspaceNotSpecifiedException</span></a> - Exception in <a href="org/apache/sis/coverage/package-summary.html">org.apache.sis.coverage</a></dt>
<dd>
<div class="block">Thrown when an operation can only be applied on a subspace of a multi-dimensional coverage,
 but not such subspace has been specified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SubspaceNotSpecifiedException.html#%3Cinit%3E()">SubspaceNotSpecifiedException()</a></span> - Constructor for exception <a href="org/apache/sis/coverage/SubspaceNotSpecifiedException.html" title="class in org.apache.sis.coverage">SubspaceNotSpecifiedException</a></dt>
<dd>
<div class="block">Constructs an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SubspaceNotSpecifiedException.html#%3Cinit%3E(java.lang.String)">SubspaceNotSpecifiedException(String)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/SubspaceNotSpecifiedException.html" title="class in org.apache.sis.coverage">SubspaceNotSpecifiedException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SubspaceNotSpecifiedException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">SubspaceNotSpecifiedException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/coverage/SubspaceNotSpecifiedException.html" title="class in org.apache.sis.coverage">SubspaceNotSpecifiedException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#subtract(org.apache.sis.math.Fraction)">subtract(Fraction)</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns the simplified result of subtracting the given fraction from this fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#subtract(org.apache.sis.measure.Range)">subtract(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Returns the range of values that are in this range but not in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#subtract(org.apache.sis.measure.Range)">subtract(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns the range of values that are in this range but not in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#subtractAny(org.apache.sis.measure.NumberRange)">subtractAny(NumberRange&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns the range of values that are in this range but not in the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html#suggest(int,int,int,int,int)">suggest(int, int, int, int, int)</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">IterationStrategy</a></dt>
<dd>
<div class="block">Suggests a strategy for iterating over the points to transform in an array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CRS.html#suggestCommonTarget(org.opengis.metadata.extent.GeographicBoundingBox,org.opengis.referencing.crs.CoordinateReferenceSystem...)">suggestCommonTarget(GeographicBoundingBox, CoordinateReferenceSystem...)</a></span> - Static method in class <a href="org/apache/sis/referencing/CRS.html" title="class in org.apache.sis.referencing">CRS</a></dt>
<dd>
<div class="block">Suggests a coordinate reference system which could be a common target for coordinate operations having the
 given sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/sql/MetadataWriter.html#suggestIdentifier(java.lang.Object,java.util.Map)">suggestIdentifier(Object, Map&lt;String, Object&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/sql/MetadataWriter.html" title="class in org.apache.sis.metadata.sql">MetadataWriter</a></dt>
<dd>
<div class="block">Suggests an identifier (primary key) to be used for the given metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#sum()">sum()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns the sum, or 0 if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#SUMMARY">SUMMARY</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "summary" attribute name for a paragraph describing the dataset
 (<em>Highly Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#SUPPORTED">SUPPORTED</a></span> - Static variable in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">The <code>DataStoreProvider</code> recognizes the given storage, but has no additional information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#SURJECTIVE">SURJECTIVE</a></span> - <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">A function is <cite>surjective</cite> if any value of <var>T</var> can be created
 from one or many values of <var>S</var>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#swap(byte%5B%5D,int,int)">swap(byte[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Swaps the elements at the given indices in the given array of <code>byte</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#swap(char%5B%5D,int,int)">swap(char[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Swaps the elements at the given indices in the given array of <code>char</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#swap(double%5B%5D,int,int)">swap(double[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Swaps the elements at the given indices in the given array of <code>double</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#swap(float%5B%5D,int,int)">swap(float[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Swaps the elements at the given indices in the given array of <code>float</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#swap(int%5B%5D,int,int)">swap(int[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Swaps the elements at the given indices in the given array of <code>int</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#swap(long%5B%5D,int,int)">swap(long[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Swaps the elements at the given indices in the given array of <code>long</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#swap(short%5B%5D,int,int)">swap(short[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Swaps the elements at the given indices in the given array of <code>short</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#swap(java.lang.Object%5B%5D,int,int)">swap(Object[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Swaps the elements at the given indices in the given array of <code>Object</code> values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/CoordinateSystems.html#swapAndScaleAxes(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.CoordinateSystem)">swapAndScaleAxes(CoordinateSystem, CoordinateSystem)</a></span> - Static method in class <a href="org/apache/sis/referencing/cs/CoordinateSystems.html" title="class in org.apache.sis.referencing.cs">CoordinateSystems</a></dt>
<dd>
<div class="block">Returns an affine transform between two coordinate systems.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html#swapAndScaleAxes(org.opengis.referencing.operation.MathTransform,org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory.Context)">swapAndScaleAxes(MathTransform, DefaultMathTransformFactory.Context)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform">DefaultMathTransformFactory</a></dt>
<dd>
<div class="block">Given a transform between normalized spaces,
 creates a transform taking in account axis directions, units of measurement and longitude rotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.Style.html#SYMBOL">SYMBOL</a></span> - <a href="org/apache/sis/measure/UnitFormat.Style.html" title="enum in org.apache.sis.measure">UnitFormat.Style</a></dt>
<dd>
<div class="block">Format unit symbols using Unicode characters.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">Symbols</span></a> - Class in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">The set of symbols to use for <cite>Well Known Text</cite> (WKT) parsing and formatting.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Symbols.html#%3Cinit%3E(org.apache.sis.io.wkt.Symbols)">Symbols(Symbols)</a></span> - Constructor for class <a href="org/apache/sis/io/wkt/Symbols.html" title="class in org.apache.sis.io.wkt">Symbols</a></dt>
<dd>
<div class="block">Creates a new set of WKT symbols initialized to a copy of the given symbols.</div>
</dd>
</dl>
<a id="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io"><span class="typeNameLink">TableAppender</span></a> - Class in <a href="org/apache/sis/io/package-summary.html">org.apache.sis.io</a></dt>
<dd>
<div class="block">An <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Appendable</code></a> which formats the text as a table suitable for displaying in devices using
 a monospaced font.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#%3Cinit%3E()">TableAppender()</a></span> - Constructor for class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Creates a new table formatter writing in an internal buffer with a default column separator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#%3Cinit%3E(java.lang.Appendable)">TableAppender(Appendable)</a></span> - Constructor for class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Creates a new table formatter writing in the given output with a default column separator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#%3Cinit%3E(java.lang.Appendable,java.lang.String)">TableAppender(Appendable, String)</a></span> - Constructor for class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Creates a new table formatter writing in the given output with the specified column separator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#%3Cinit%3E(java.lang.Appendable,java.lang.String,java.lang.String,java.lang.String)">TableAppender(Appendable, String, String, String)</a></span> - Constructor for class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Creates a new table formatter writing in the given output with the specified column separator and border.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#%3Cinit%3E(java.lang.String)">TableAppender(String)</a></span> - Constructor for class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Creates a new table formatter writing in an internal buffer with the specified column separator.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">TableColumn</span></a>&lt;<a href="org/apache/sis/util/collection/TableColumn.html" title="type parameter in TableColumn">V</a>&gt; - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">Identifies a column in <a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection"><code>TreeTable.Node</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#%3Cinit%3E()">TableColumn()</a></span> - Constructor for class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Invoked on deserialization for creating an initially empty instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#%3Cinit%3E(java.lang.Class,java.lang.CharSequence)">TableColumn(Class&lt;V&gt;, CharSequence)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Creates a new instance for the given type of values.</div>
</dd>
<dt><a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io"><span class="typeNameLink">TabularFormat</span></a>&lt;<a href="org/apache/sis/io/TabularFormat.html" title="type parameter in TabularFormat">T</a>&gt; - Class in <a href="org/apache/sis/io/package-summary.html">org.apache.sis.io</a></dt>
<dd>
<div class="block">Base class for parser and formatter of tabular data, providing control on line and column separators.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TabularFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">TabularFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/io/TabularFormat.html" title="class in org.apache.sis.io">TabularFormat</a></dt>
<dd>
<div class="block">Creates a new tabular format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultScopedName.html#tail()">tail()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso">DefaultScopedName</a></dt>
<dd>
<div class="block">Returns every elements in the sequence of <a href="org/apache/sis/util/iso/DefaultScopedName.html#getParsedNames()">parsed names</a>
 except for the <a href="org/apache/sis/util/iso/AbstractName.html#head()">head</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#tailSet(E)">tailSet(E)</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns a view of the portion of this set whose elements occur with a frequency equal or greater than
 <code>fromElement</code> frequency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#tailSet(org.apache.sis.measure.Range)">tailSet(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Returns a view of the portion of this sorted set whose elements are
 greater than or equal to <code>lower</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#targetDimensions">targetDimensions</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Indices of transform output dimensions to keep, or <code>null</code> if not yet defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#TEMPLATE">TEMPLATE</a></span> - Static variable in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">The value will be available later.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#TEMPORAL_EXTENT">TEMPORAL_EXTENT</a></span> - Static variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">A bitmask to specify the validity of the temporal period.</div>
</dd>
<dt><a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter"><span class="typeNameLink">TensorParameters</span></a>&lt;<a href="org/apache/sis/parameter/TensorParameters.html" title="type parameter in TensorParameters">E</a>&gt; - Class in <a href="org/apache/sis/parameter/package-summary.html">org.apache.sis.parameter</a></dt>
<dd>
<div class="block">Creates parameter groups for tensors (usually matrices).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#%3Cinit%3E(java.lang.Class,java.lang.String,java.lang.String,org.opengis.parameter.ParameterDescriptor...)">TensorParameters(Class&lt;E&gt;, String, String, ParameterDescriptor&lt;Integer&gt;...)</a></span> - Constructor for class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Constructs a descriptors provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Term.html#%3Cinit%3E(java.lang.String,java.lang.String)">Term(String, String)</a></span> - Constructor for class <a href="org/apache/sis/storage/netcdf/AttributeNames.Term.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Term</a></dt>
<dd>
<div class="block">Creates a new set of attribute names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#TESLA">TESLA</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for magnetic flux density (T).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Term.html#TEXT">TEXT</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Term.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Term</a></dt>
<dd>
<div class="block">The keyword or the identifier code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html#THEME_KEY">THEME_KEY</a></span> - Static variable in class <a href="org/apache/sis/referencing/gazetteer/ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></dt>
<dd>
<div class="block">Key for the <code>"theme"</code> property to be given to the
 object factory <code>createFoo(…)</code> methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#THREE_DIMENSIONAL">THREE_DIMENSIONAL</a></span> - <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">Three-dimensional fix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#throwing(java.lang.String,java.lang.String,java.lang.Throwable)">throwing(String, String, Throwable)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a method failure to the <a href="org/apache/sis/util/logging/LoggerAdapter.html#getDebugLevel()">debug level</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#TIME">TIME</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the start and end times of the bounding box, resolution and
 units.</div>
</dd>
<dt><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum"><span class="typeNameLink">TimeDependentBWP</span></a> - Class in <a href="org/apache/sis/referencing/datum/package-summary.html">org.apache.sis.referencing.datum</a></dt>
<dd>
<div class="block">Parameters for a time-dependent geographic transformation between two datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/TimeDependentBWP.html#%3Cinit%3E(org.opengis.referencing.datum.GeodeticDatum,org.opengis.metadata.extent.Extent,java.util.Date)">TimeDependentBWP(GeodeticDatum, Extent, Date)</a></span> - Constructor for class <a href="org/apache/sis/referencing/datum/TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></dt>
<dd>
<div class="block">Creates a new instance for the given target datum, domain of validity and time reference.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#TIMEZONE">TIMEZONE</a></span> - Static variable in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">The timezone to use when parsing or formatting dates and times without explicit timezone.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#TIMEZONE">TIMEZONE</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Specifies the timezone to use for marshalling dates and times.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#tip()">tip()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">The last element in the sequence of <a href="org/apache/sis/referencing/NamedIdentifier.html#getParsedNames()">parsed names</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#tip()">tip()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns the last element in the sequence of <a href="org/apache/sis/util/iso/AbstractName.html#getParsedNames()">parsed names</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#tip()">tip()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Returns <code>this</code> since this object is already a local name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#TITLE">TITLE</a></span> - <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">A descriptive title for another linking element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#TITLE">TITLE</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "title" attribute name for a short description of the dataset
 (<em>Highly Recommended</em>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#titleMatches(org.opengis.metadata.citation.Citation,java.lang.String)">titleMatches(Citation, String)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getTitle()">title</a> or any
 <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getAlternateTitles()">alternate title</a> in the given citation
 matches the given string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#titleMatches(org.opengis.metadata.citation.Citation,org.opengis.metadata.citation.Citation)">titleMatches(Citation, Citation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">Returns <code>true</code> if at least one <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getTitle()">title</a> or
 <a href="org/apache/sis/metadata/iso/citation/DefaultCitation.html#getAlternateTitles()">alternate title</a> in <code>c1</code> is leniently
 equal to a title or alternate title in <code>c2</code>.</div>
</dd>
<dt><a href="org/apache/sis/metadata/TitleProperty.html" title="annotation in org.apache.sis.metadata"><span class="typeNameLink">TitleProperty</span></a> - Annotation Type in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Identifies the name of a property to use for summarizing in one line the content of a metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/profile/france/FrenchProfile.html#toAFNOR(java.lang.Object)">toAFNOR(Object)</a></span> - Static method in class <a href="org/apache/sis/profile/france/FrenchProfile.html" title="class in org.apache.sis.profile.france">FrenchProfile</a></dt>
<dd>
<div class="block">Returns the given metadata object as an AFNOR-compliant instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/profile/france/FrenchProfile.html#toAFNOR(org.opengis.referencing.ReferenceSystem,boolean)">toAFNOR(ReferenceSystem, boolean)</a></span> - Static method in class <a href="org/apache/sis/profile/france/FrenchProfile.html" title="class in org.apache.sis.profile.france">FrenchProfile</a></dt>
<dd>
<div class="block">Returns the given given reference system as an AFNOR-compliant instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#toArray()">toArray()</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns the content of this set as an array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#toArray()">toArray()</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Returns a view of this set as an array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/FrequencySortedSet.html#toArray(T%5B%5D)">toArray(T[])</a></span> - Method in class <a href="org/apache/sis/util/collection/FrequencySortedSet.html" title="class in org.apache.sis.util.collection">FrequencySortedSet</a></dt>
<dd>
<div class="block">Returns the content of this set as an array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#toASCII(java.lang.CharSequence)">toASCII(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Replaces some Unicode characters by ASCII characters on a "best effort basis".</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/StringBuilders.html#toASCII(java.lang.StringBuilder)">toASCII(StringBuilder)</a></span> - Static method in class <a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util">StringBuilders</a></dt>
<dd>
<div class="block">Replaces some Unicode characters by ASCII characters on a "best effort basis".</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toCharset(org.apache.sis.xml.MarshalContext,java.lang.String)">toCharset(MarshalContext, String)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given string to a character set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toCharsetCode(org.apache.sis.xml.MarshalContext,java.nio.charset.Charset)">toCharsetCode(MarshalContext, Charset)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given character set to a code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultTypeName.html#toClass()">toClass()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultTypeName.html" title="class in org.apache.sis.util.iso">DefaultTypeName</a></dt>
<dd>
<div class="block">Returns the Java class associated to this type name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#toClass(org.opengis.util.TypeName)">toClass(TypeName)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Returns the Java class associated to the given type name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#toCodeSpace(org.opengis.metadata.citation.Citation)">toCodeSpace(Citation)</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">Infers a code space from the given citation, or returns <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#toContextualUnit(javax.measure.Unit)">toContextualUnit(Unit&lt;Q&gt;)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns the unit to use instead than the given one, or <code>unit</code> if there is no replacement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toCountryCode(org.apache.sis.xml.MarshalContext,java.util.Locale)">toCountryCode(MarshalContext, Locale)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given locale to a country code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#toDate(double)">toDate(double)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Converts the given value into a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Date</code></a> object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Names.html#toExpandedString(org.opengis.util.GenericName)">toExpandedString(GenericName)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Names.html" title="class in org.apache.sis.util.iso">Names</a></dt>
<dd>
<div class="block">Formats the given name in <cite>expanded form</cite> close to the Java Content Repository (JCR) definition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#toFullyQualifiedName()">toFullyQualifiedName()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns a view of this name as a fully-qualified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#toFullyQualifiedName()">toFullyQualifiedName()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns a view of this name as a fully-qualified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#toGenericNames(java.lang.Object)">toGenericNames(Object)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Converts the given value to an array of generic names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#toGPX()">toGPX()</a></span> - Method in enum <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">Returns the string representation in <cite>GPS Exchange Format</cite> (GPX).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#toInstant(double)">toInstant(double)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Converts the given value into an instant object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#toInternationalString()">toInternationalString()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns a local-dependent string representation of this generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#toInternationalString()">toInternationalString()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns a local-dependent string representation of this generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#toInternationalString()">toInternationalString()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Returns a local-dependent string representation of this local name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#toInternationalString(java.lang.CharSequence)">toInternationalString(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the given characters sequence as an international string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#toInternationalString(java.util.Map,java.lang.String)">toInternationalString(Map&lt;String, ?&gt;, String)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns an international string for the values in the given properties map, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#toInternationalStrings(java.lang.CharSequence...)">toInternationalStrings(CharSequence...)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the given array of <code>CharSequence</code>s as an array of <code>InternationalString</code>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#token(java.lang.CharSequence,int)">token(CharSequence, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns the token starting at the given offset in the given text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toLanguageCode(org.apache.sis.xml.MarshalContext,java.util.Locale)">toLanguageCode(MarshalContext, Locale)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given locale to a language code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Transliterator.html#toLatinAbbreviation(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)">toLatinAbbreviation(CoordinateSystem, AxisDirection, String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></dt>
<dd>
<div class="block">Returns the axis abbreviation to format in WKT, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toLocale(org.apache.sis.xml.MarshalContext,java.lang.String)">toLocale(MarshalContext, String)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given string to a locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Transliterator.html#toLongAxisName(java.lang.String,org.opengis.referencing.cs.AxisDirection,java.lang.String)">toLongAxisName(String, AxisDirection, String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></dt>
<dd>
<div class="block">Returns the axis name to use in memory for an axis parsed from a WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#toMatrix(java.awt.geom.AffineTransform)">toMatrix(AffineTransform)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Creates a 3×3 matrix from the given affine transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#toMatrix(org.opengis.parameter.ParameterValueGroup)">toMatrix(ParameterValueGroup)</a></span> - Method in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Constructs a matrix from a group of parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#toNanFloat(int)">toNanFloat(int)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns a <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#isNaN(float)" title="class or interface in java.lang" class="externalLink">NaN</a> number for the specified ordinal value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#toNanOrdinal(float)">toNanOrdinal(float)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the ordinal value of the given NaN number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toNilReason(org.apache.sis.xml.MarshalContext,java.lang.String)">toNilReason(MarshalContext, String)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given string to a <code>NilReason</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#toNormalScript(char)">toNormalScript(char)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Converts the given character argument to normal script.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#toNormalScript(int)">toNormalScript(int)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Converts the given code point to normal script.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#toPattern()">toPattern()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns the pattern used for parsing and formatting angles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#TOPIC_CATEGORY">TOPIC_CATEGORY</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The "topic_category" attribute name for a high-level geographic data thematic classification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#toPolygonWKT(org.opengis.geometry.Envelope)">toPolygonWKT(Envelope)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Formats the given envelope as a <code>POLYGON</code> element in the <cite>Well Known Text</cite>
 (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#toRectangles()">toRectangles()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Returns this envelope as non-empty Java2D rectangle objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Transliterator.html#toShortAxisName(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)">toShortAxisName(CoordinateSystem, AxisDirection, String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></dt>
<dd>
<div class="block">Returns the axis name to format in WKT, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#toSimpleEnvelopes()">toSimpleEnvelopes()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Returns this envelope as an array of simple (without wraparound) envelopes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#toStandardUnit(javax.measure.Unit)">toStandardUnit(Unit&lt;Q&gt;)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns the factor by which to multiply the standard unit in order to get the given unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/Category.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/coverage/Category.html" title="class in org.apache.sis.coverage">Category</a></dt>
<dd>
<div class="block">Returns a string representation of this category for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridCoverage.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a></dt>
<dd>
<div class="block">Returns a string representation of this grid coverage for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridDerivation.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridDerivation.html" title="class in org.apache.sis.coverage.grid">GridDerivation</a></dt>
<dd>
<div class="block">Returns a string representation of this <code>GridDerivation</code> for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridExtent.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a></dt>
<dd>
<div class="block">Returns a string representation of this grid envelope.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns a string representation of this grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">Returns a string representation of this pixel translation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns a string representation of this sample dimension.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAssociation.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></dt>
<dd>
<div class="block">Returns a string representation of this association.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractAttribute.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a></dt>
<dd>
<div class="block">Returns a string representation of this attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractFeature.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></dt>
<dd>
<div class="block">Formats this feature in a tabular format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/AbstractOperation.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/feature/AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></dt>
<dd>
<div class="block">Returns a string representation of this operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/TypeBuilder.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></dt>
<dd>
<div class="block">Returns a string representation of this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAssociationRole.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></dt>
<dd>
<div class="block">Returns a string representation of this association role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultAttributeType.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a></dt>
<dd>
<div class="block">Returns a string representation of this attribute type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/DefaultFeatureType.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/feature/DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></dt>
<dd>
<div class="block">Formats this feature in a tabular format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractDirectPosition.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractDirectPosition.html" title="class in org.apache.sis.geometry">AbstractDirectPosition</a></dt>
<dd>
<div class="block">Formats this position in the <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/AbstractEnvelope.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/geometry/AbstractEnvelope.html" title="class in org.apache.sis.geometry">AbstractEnvelope</a></dt>
<dd>
<div class="block">Formats this envelope as a "<code>BOX</code>" element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition1D.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition1D.html" title="class in org.apache.sis.geometry">DirectPosition1D</a></dt>
<dd>
<div class="block">Formats this position in the <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/DirectPosition2D.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/geometry/DirectPosition2D.html" title="class in org.apache.sis.geometry">DirectPosition2D</a></dt>
<dd>
<div class="block">Formats this position in the <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelope2D.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/geometry/Envelope2D.html" title="class in org.apache.sis.geometry">Envelope2D</a></dt>
<dd>
<div class="block">Formats this envelope as a "<code>BOX</code>" element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralDirectPosition.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralDirectPosition.html" title="class in org.apache.sis.geometry">GeneralDirectPosition</a></dt>
<dd>
<div class="block">Formats this position in the <cite>Well Known Text</cite> (WKT) format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/TransferType.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/image/TransferType.html" title="class in org.apache.sis.image">TransferType</a></dt>
<dd>
<div class="block">Returns the name of this enumeration constant.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/TableAppender.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/io/TableAppender.html" title="class in org.apache.sis.io">TableAppender</a></dt>
<dd>
<div class="block">Returns the content of this <code>TableAppender</code> as a string if possible.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/FormattableObject.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></dt>
<dd>
<div class="block">Returns a <cite>Well Known Text</cite> (WKT) or an alternative text representation for this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns a string representation of this formatter for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns a string representation of the warning messages in the default locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns a string representation of this fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Returns a string representation of this line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Returns a string representation of this plane.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Statistics.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/math/Statistics.html" title="class in org.apache.sis.math">Statistics</a></dt>
<dd>
<div class="block">Returns a string representation of this statistics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a string representation of this vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Angle.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/measure/Angle.html" title="class in org.apache.sis.measure">Angle</a></dt>
<dd>
<div class="block">Returns a string representation of this <code>Angle</code> object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/AngleFormat.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/measure/AngleFormat.html" title="class in org.apache.sis.measure">AngleFormat</a></dt>
<dd>
<div class="block">Returns a string representation of this object for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns a unlocalized string representation of this range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/AbstractMetadata.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/metadata/AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></dt>
<dd>
<div class="block">Returns a string representation of this metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.html" title="class in org.apache.sis.metadata.iso.identification">DefaultRepresentativeFraction</a></dt>
<dd>
<div class="block">Returns a string representation of this scale, or <code>NaN</code> if undefined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.html" title="class in org.apache.sis.metadata.iso.maintenance">LegacyFeatureType</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/MetadataStandard.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/metadata/MetadataStandard.html" title="class in org.apache.sis.metadata">MetadataStandard</a></dt>
<dd>
<div class="block">Returns a string representation of this metadata standard.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/AbstractParameterDescriptor.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/parameter/AbstractParameterDescriptor.html" title="class in org.apache.sis.parameter">AbstractParameterDescriptor</a></dt>
<dd>
<div class="block">Returns a string representation of this descriptor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns a string representation of this group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/DatumShiftGrid.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">DatumShiftGrid</a></dt>
<dd>
<div class="block">Returns a string representation of this <code>DatumShiftGrid</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">ConcurrentAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a string representation of this factory for debugging purpose only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Returns a string representation of this factory for debugging purpose only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/gazetteer/AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer">AbstractLocation</a></dt>
<dd>
<div class="block">Returns a string representation of this location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/GeodeticCalculator.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/GeodeticCalculator.html" title="class in org.apache.sis.referencing">GeodeticCalculator</a></dt>
<dd>
<div class="block">Returns a string representation of start point, end point, azimuths and distance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/NamedIdentifier.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></dt>
<dd>
<div class="block">Returns a string representation of this generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LinearTransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LinearTransformBuilder</a></dt>
<dd>
<div class="block">Returns a string representation of this builder for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns a string representation of this builder for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Returns a unlocalized string representation of this matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Returns a string representation of this transfer function for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">Returns a string representation of this option key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/DataStore.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage">DataStore</a></dt>
<dd>
<div class="block">Returns a string representation of this data store for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/WarningEvent.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/storage/event/WarningEvent.html" title="class in org.apache.sis.storage.event">WarningEvent</a></dt>
<dd>
<div class="block">Returns a string representation of this warning for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/NetcdfStore.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/storage/netcdf/NetcdfStore.html" title="class in org.apache.sis.storage.netcdf">NetcdfStore</a></dt>
<dd>
<div class="block">Returns a string representation of this netCDF store for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">Returns a string representation of this <code>ProbeResult</code> for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/StorageConnector.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/storage/StorageConnector.html" title="class in org.apache.sis.storage">StorageConnector</a></dt>
<dd>
<div class="block">Returns a string representation of this <code>StorageConnector</code> for debugging purpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.Node.html" title="class in org.apache.sis.util.collection">DefaultTreeTable.Node</a></dt>
<dd>
<div class="block">Returns a string representation of this node for identification in error message or in debugger.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/DefaultTreeTable.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/collection/DefaultTreeTable.html" title="class in org.apache.sis.util.collection">DefaultTreeTable</a></dt>
<dd>
<div class="block">Returns a string representation of this tree table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Returns a string representation of this table column.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractInternationalString.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso">AbstractInternationalString</a></dt>
<dd>
<div class="block">Returns this string in the default locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractName.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso">AbstractName</a></dt>
<dd>
<div class="block">Returns a string representation of this generic name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultLocalName.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultLocalName.html" title="class in org.apache.sis.util.iso">DefaultLocalName</a></dt>
<dd>
<div class="block">Returns a locale-independent string representation of this local name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameSpace.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameSpace.html" title="class in org.apache.sis.util.iso">DefaultNameSpace</a></dt>
<dd>
<div class="block">Returns a JCR-like lexical form representation of this namespace.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecord.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecord.html" title="class in org.apache.sis.util.iso">DefaultRecord</a></dt>
<dd>
<div class="block">Returns a string representation of this record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultRecordSchema.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultRecordSchema.html" title="class in org.apache.sis.util.iso">DefaultRecordSchema</a></dt>
<dd>
<div class="block">Returns a string representation of this schema for debugging purpose only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/SimpleInternationalString.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/iso/SimpleInternationalString.html" title="class in org.apache.sis.util.iso">SimpleInternationalString</a></dt>
<dd>
<div class="block">Returns the string representation, which is unique for all locales.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns the version string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">Returns the GML string representation of this <code>NilReason</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#toString()">toString()</a></span> - Method in class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Returns a string representation of this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Warnings.html#toString(java.util.Locale)">toString(Locale)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt">Warnings</a></dt>
<dd>
<div class="block">Returns a string representation of the warning messages in the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html#toString(java.util.Locale)">toString(Locale)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.html" title="class in org.apache.sis.referencing.operation.builder">LocalizationGridBuilder</a></dt>
<dd>
<div class="block">Returns a string representation of this builder in the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/AbstractInternationalString.html#toString(java.util.Locale)">toString(Locale)</a></span> - Method in class <a href="org/apache/sis/util/iso/AbstractInternationalString.html" title="class in org.apache.sis.util.iso">AbstractInternationalString</a></dt>
<dd>
<div class="block">Returns this string in the given locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultInternationalString.html#toString(java.util.Locale)">toString(Locale)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultInternationalString.html" title="class in org.apache.sis.util.iso">DefaultInternationalString</a></dt>
<dd>
<div class="block">Returns a string in the specified locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/ResourceInternationalString.html#toString(java.util.Locale)">toString(Locale)</a></span> - Method in class <a href="org/apache/sis/util/iso/ResourceInternationalString.html" title="class in org.apache.sis.util.iso">ResourceInternationalString</a></dt>
<dd>
<div class="block">Returns a string in the specified locale.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/SimpleInternationalString.html#toString(java.util.Locale)">toString(Locale)</a></span> - Method in class <a href="org/apache/sis/util/iso/SimpleInternationalString.html" title="class in org.apache.sis.util.iso">SimpleInternationalString</a></dt>
<dd>
<div class="block">Returns the same string for all locales.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/SampleDimension.html#toString(java.util.Locale,org.apache.sis.coverage.SampleDimension...)">toString(Locale, SampleDimension...)</a></span> - Static method in class <a href="org/apache/sis/coverage/SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></dt>
<dd>
<div class="block">Returns a string representation of the given sample dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/FormattableObject.html#toString(org.apache.sis.io.wkt.Convention)">toString(Convention)</a></span> - Method in class <a href="org/apache/sis/io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></dt>
<dd>
<div class="block">Returns a <cite>Well Known Text</cite> (WKT) for this object using the specified convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTables.html#toString(org.apache.sis.util.collection.TreeTable)">toString(TreeTable)</a></span> - Static method in class <a href="org/apache/sis/util/collection/TreeTables.html" title="class in org.apache.sis.util.collection">TreeTables</a></dt>
<dd>
<div class="block">Returns a string representation of the given tree table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#toString(org.opengis.geometry.Envelope)">toString(Envelope)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Formats the given envelope as a <code>BOX</code> element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#toString(org.opengis.metadata.Identifier)">toString(Identifier)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns a string representation of the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#toString(org.opengis.referencing.operation.Matrix)">toString(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Returns a unlocalized string representation of the given matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/Types.html#toString(org.opengis.util.InternationalString,java.util.Locale)">toString(InternationalString, Locale)</a></span> - Static method in class <a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso">Types</a></dt>
<dd>
<div class="block">Returns the given international string in the given locale, or <code>null</code> if the given string is null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#toSubScript(char)">toSubScript(char)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Converts the given character argument to subscript.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.html#toSuperScript(char)">toSuperScript(char)</a></span> - Static method in class <a href="org/apache/sis/util/Characters.html" title="class in org.apache.sis.util">Characters</a></dt>
<dd>
<div class="block">Converts the given character argument to superscript.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridCoverage.html#toTree(java.util.Locale,int)">toTree(Locale, int)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a></dt>
<dd>
<div class="block">Returns a tree representation of some elements of this grid coverage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#toTree(java.util.Locale,int)">toTree(Locale, int)</a></span> - Method in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">Returns a tree representation of some elements of this grid geometry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/iso/DefaultNameFactory.html#toTypeName(java.lang.Class)">toTypeName(Class&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/util/iso/DefaultNameFactory.html" title="class in org.apache.sis.util.iso">DefaultNameFactory</a></dt>
<dd>
<div class="block">Suggests a type name for the given class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Transliterator.html#toUnicodeAbbreviation(java.lang.String,org.opengis.referencing.cs.AxisDirection,java.lang.String)">toUnicodeAbbreviation(String, AxisDirection, String)</a></span> - Method in class <a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></dt>
<dd>
<div class="block">Returns the axis abbreviation to use in memory for an axis parsed from a WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toUnit(org.apache.sis.xml.MarshalContext,java.lang.String)">toUnit(MarshalContext, String)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given string to a unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toURI(org.apache.sis.xml.MarshalContext,java.lang.String)">toURI(MarshalContext, String)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given string to a URI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toURI(org.apache.sis.xml.MarshalContext,java.net.URL)">toURI(MarshalContext, URL)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given URL to a URI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toURL(org.apache.sis.xml.MarshalContext,java.net.URI)">toURL(MarshalContext, URI)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given URI to a URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/IdentifiedObjects.html#toURN(java.lang.Class,org.opengis.metadata.Identifier)">toURN(Class&lt;?&gt;, Identifier)</a></span> - Static method in class <a href="org/apache/sis/referencing/IdentifiedObjects.html" title="class in org.apache.sis.referencing">IdentifiedObjects</a></dt>
<dd>
<div class="block">Returns the URN of the given identifier, or <code>null</code> if no valid URN can be formed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#toUUID(org.apache.sis.xml.MarshalContext,java.lang.String)">toUUID(MarshalContext, String)</a></span> - Method in class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Converts the given string to a Universal Unique Identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#toValue(java.time.Instant)">toValue(Instant)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Converts the given instant into a value in this axis unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html#toValue(java.util.Date)">toValue(Date)</a></span> - Method in class <a href="org/apache/sis/referencing/crs/DefaultTemporalCRS.html" title="class in org.apache.sis.referencing.crs">DefaultTemporalCRS</a></dt>
<dd>
<div class="block">Converts the given <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">date</a> into a value in this axis unit.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/FormattableObject.html#toWKT()">toWKT()</a></span> - Method in class <a href="org/apache/sis/io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></dt>
<dd>
<div class="block">Returns a strictly compliant <cite>Well Known Text</cite> (WKT) using the default convention,
 symbols and indentation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Formatter.html#toWKT()">toWKT()</a></span> - Method in class <a href="org/apache/sis/io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a></dt>
<dd>
<div class="block">Returns the WKT formatted by this object.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">TransferFunction</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">The function converting raster <cite>sample values</cite> to <cite>geophysics values</cite>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransferFunction.html#%3Cinit%3E()">TransferFunction()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a></dt>
<dd>
<div class="block">Creates a transfer function initialized to the identity transform.</div>
</dd>
<dt><a href="org/apache/sis/image/TransferType.html" title="class in org.apache.sis.image"><span class="typeNameLink">TransferType</span></a>&lt;<a href="org/apache/sis/image/TransferType.html" title="type parameter in TransferType">T</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true" title="class or interface in java.nio" class="externalLink">Buffer</a>&gt; - Class in <a href="org/apache/sis/image/package-summary.html">org.apache.sis.image</a></dt>
<dd>
<div class="block">The type of data used to transfer pixels.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#transform">transform</a></span> - Variable in class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">The transform to separate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html#transform(double)">transform(double)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></dt>
<dd>
<div class="block">Transforms the specified value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/AlbersEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">AlbersEqualArea</a></dt>
<dd>
<div class="block">Converts the specified (θ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">CylindricalEqualArea</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>
 (linear distance on a unit sphere).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/LambertConicConformal.html" title="class in org.apache.sis.referencing.operation.projection">LambertConicConformal</a></dt>
<dd>
<div class="block">Converts the specified (θ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Mercator.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Mercator.html" title="class in org.apache.sis.referencing.operation.projection">Mercator</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>
 (linear distance on a unit sphere).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Mollweide.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Mollweide.html" title="class in org.apache.sis.referencing.operation.projection">Mollweide</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate and stores the (<var>x</var>,<var>y</var>) result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Converts a single coordinate in <code>srcPts</code> at the given offset and stores the result
 in <code>dstPts</code> at the given offset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ObliqueMercator.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ObliqueMercator.html" title="class in org.apache.sis.referencing.operation.projection">ObliqueMercator</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ObliqueStereographic.html" title="class in org.apache.sis.referencing.operation.projection">ObliqueStereographic</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/PolarStereographic.html" title="class in org.apache.sis.referencing.operation.projection">PolarStereographic</a></dt>
<dd>
<div class="block">Converts the specified (θ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Polyconic.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Polyconic.html" title="class in org.apache.sis.referencing.operation.projection">Polyconic</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>
 (linear distance on a unit sphere).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Sinusoidal.html" title="class in org.apache.sis.referencing.operation.projection">Sinusoidal</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>
 (linear distance on a unit sphere).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html" title="class in org.apache.sis.referencing.operation.projection">TransverseMercator</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate (units in radians) and stores the result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html" title="class in org.apache.sis.referencing.operation.projection">ZonedGridSystem</a></dt>
<dd>
<div class="block">Converts the specified (λ,φ) coordinate and stores the result in <code>dstPts</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Transforms a single coordinate point in an array, and optionally computes the transform
 derivative at that location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D.Inverse</a></dt>
<dd>
<div class="block">Transforms a single point in the given array and opportunistically computes its derivative if requested.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></dt>
<dd>
<div class="block">Transforms a single point in the given array and opportunistically computes its derivative if requested.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Converts the (λ,φ) or (λ,φ,<var>h</var>) geodetic coordinates to
 to (<var>X</var>,<var>Y</var>,<var>Z</var>) geocentric coordinates,
 and optionally returns the derivative at that location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedGeocentricTransform</a></dt>
<dd>
<div class="block">Transforms the (λ,φ) or (λ,φ,<var>h</var>) coordinates between two geographic CRS,
 and optionally returns the derivative at that location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedMolodenskyTransform</a></dt>
<dd>
<div class="block">Transforms the (λ,φ) or (λ,φ,<var>h</var>) coordinates between two geographic CRS,
 and optionally returns the derivative at that location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Applies the datum shift on a coordinate tuple and optionally returns the derivative at that location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">MolodenskyTransform</a></dt>
<dd>
<div class="block">Transforms the (λ,φ) or (λ,φ,<var>h</var>) coordinates between two geographic CRS,
 and optionally returns the derivative at that location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform(double[], int, double[], int, boolean)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Transforms a single coordinate in a list of ordinal values, and opportunistically
 computes the transform derivative if requested.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/CylindricalEqualArea.html" title="class in org.apache.sis.referencing.operation.projection">CylindricalEqualArea</a></dt>
<dd>
<div class="block">Converts a list of coordinate points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/Mercator.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/Mercator.html" title="class in org.apache.sis.referencing.operation.projection">Mercator</a></dt>
<dd>
<div class="block">Converts a list of coordinate points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Transforms a list of coordinate points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">Converts the (λ,φ) or (λ,φ,<var>h</var>) geodetic coordinates to
 to (<var>X</var>,<var>Y</var>,<var>Z</var>) geocentric coordinates.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedMolodenskyTransform</a></dt>
<dd>
<div class="block">Transforms the (λ,φ) or (λ,φ,<var>h</var>) coordinates between two geographic CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">InterpolatedTransform</a></dt>
<dd>
<div class="block">Transforms an arbitrary amount of coordinate tuples.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">MolodenskyTransform</a></dt>
<dd>
<div class="block">Transforms the (λ,φ) or (λ,φ,<var>h</var>) coordinates between two geographic CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform(double[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Transforms many coordinates in a list of ordinal values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#transform(double%5B%5D,int,float%5B%5D,int,int)">transform(double[], int, float[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Transforms a list of coordinate points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#transform(double%5B%5D,int,float%5B%5D,int,int)">transform(double[], int, float[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Transforms many coordinates in a list of ordinal values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#transform(double,double)">transform(double, double)</a></span> - Method in class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">Returns a view of this vector with all values transformed by the given linear equation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#transform(float%5B%5D,int,double%5B%5D,int,int)">transform(float[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Transforms a list of coordinate points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#transform(float%5B%5D,int,double%5B%5D,int,int)">transform(float[], int, double[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Transforms many coordinates in a list of ordinal values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#transform(float%5B%5D,int,float%5B%5D,int,int)">transform(float[], int, float[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Transforms a list of coordinate points.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#transform(float%5B%5D,int,float%5B%5D,int,int)">transform(float[], int, float[], int, int)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Transforms many coordinates in a list of ordinal values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#transform(java.awt.geom.AffineTransform,java.awt.geom.Rectangle2D,java.awt.geom.Rectangle2D)">transform(AffineTransform, Rectangle2D, Rectangle2D)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Calculates a rectangle which entirely contains the direct transform of <code>bounds</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html#transform(java.awt.geom.AffineTransform,java.awt.Shape,boolean)">transform(AffineTransform, Shape, boolean)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/AffineTransforms2D.html" title="class in org.apache.sis.referencing.operation.matrix">AffineTransforms2D</a></dt>
<dd>
<div class="block">Transforms the given shape.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html#transform(java.awt.geom.Point2D,java.awt.geom.Point2D)">transform(Point2D, Point2D)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D.Inverse</a></dt>
<dd>
<div class="block">Transforms the specified <code>ptSrc</code> and stores the result in <code>ptDst</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html#transform(java.awt.geom.Point2D,java.awt.geom.Point2D)">transform(Point2D, Point2D)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></dt>
<dd>
<div class="block">Transforms the specified <code>ptSrc</code> and stores the result in <code>ptDst</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)">transform(DirectPosition, DirectPosition)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Transforms the specified <code>ptSrc</code> and stores the result in <code>ptDst</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#transform(org.opengis.geometry.Envelope,org.opengis.referencing.crs.CoordinateReferenceSystem)">transform(Envelope, CoordinateReferenceSystem)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Transforms the given envelope to the specified CRS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Shapes2D.html#transform(org.opengis.referencing.operation.CoordinateOperation,java.awt.geom.Rectangle2D,java.awt.geom.Rectangle2D)">transform(CoordinateOperation, Rectangle2D, Rectangle2D)</a></span> - Static method in class <a href="org/apache/sis/geometry/Shapes2D.html" title="class in org.apache.sis.geometry">Shapes2D</a></dt>
<dd>
<div class="block">Transforms a rectangular envelope using the given coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#transform(org.opengis.referencing.operation.CoordinateOperation,org.opengis.geometry.Envelope)">transform(CoordinateOperation, Envelope)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Transforms an envelope using the given coordinate operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Shapes2D.html#transform(org.opengis.referencing.operation.MathTransform2D,java.awt.geom.Rectangle2D,java.awt.geom.Rectangle2D)">transform(MathTransform2D, Rectangle2D, Rectangle2D)</a></span> - Static method in class <a href="org/apache/sis/geometry/Shapes2D.html" title="class in org.apache.sis.geometry">Shapes2D</a></dt>
<dd>
<div class="block">Transforms a rectangular envelope using the given math transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#transform(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.Envelope)">transform(MathTransform, Envelope)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Transforms an envelope using the given math transform.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/builder/TransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder"><span class="typeNameLink">TransformBuilder</span></a> - Class in <a href="org/apache/sis/referencing/operation/builder/package-summary.html">org.apache.sis.referencing.operation.builder</a></dt>
<dd>
<div class="block">Creates a transform which will map approximately the given source positions to the given target positions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/builder/TransformBuilder.html#%3Cinit%3E()">TransformBuilder()</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/builder/TransformBuilder.html" title="class in org.apache.sis.referencing.operation.builder">TransformBuilder</a></dt>
<dd>
<div class="block">For subclass constructors.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform"><span class="typeNameLink">TransformSeparator</span></a> - Class in <a href="org/apache/sis/referencing/operation/transform/package-summary.html">org.apache.sis.referencing.operation.transform</a></dt>
<dd>
<div class="block">Extracts a sub-transform from a given <code>MathTransform</code> and source or target dimension indices.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#%3Cinit%3E(org.opengis.referencing.operation.MathTransform)">TransformSeparator(MathTransform)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Constructs a separator for the given transform.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html#%3Cinit%3E(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)">TransformSeparator(MathTransform, MathTransformFactory)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/transform/TransformSeparator.html" title="class in org.apache.sis.referencing.operation.transform">TransformSeparator</a></dt>
<dd>
<div class="block">Constructs a separator for the given transform and using the given factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/ISOMetadata.html#transitionTo(org.apache.sis.metadata.ModifiableMetadata.State)">transitionTo(ModifiableMetadata.State)</a></span> - Method in class <a href="org/apache/sis/metadata/iso/ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></dt>
<dd>
<div class="block">Requests this metadata instance and (potentially) all its children to transition to a new state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#transitionTo(org.apache.sis.metadata.ModifiableMetadata.State)">transitionTo(ModifiableMetadata.State)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Requests this metadata instance and (potentially) all its children to transition to a new state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/GeneralEnvelope.html#translate(double...)">translate(double...)</a></span> - Method in class <a href="org/apache/sis/geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a></dt>
<dd>
<div class="block">Translates the envelope by the given vector.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#translate(double%5B%5D)">translate(double[])</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Multiplies this matrix by a translation matrix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#translate(double,double)">translate(double, double)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Translates the line.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#translate(org.opengis.referencing.operation.MathTransform,org.opengis.metadata.spatial.PixelOrientation,org.opengis.metadata.spatial.PixelOrientation,int,int)">translate(MathTransform, PixelOrientation, PixelOrientation, int, int)</a></span> - Static method in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">Converts a math transform from a "pixel orientation" convention to another "pixel orientation" convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/PixelTranslation.html#translate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.datum.PixelInCell,org.opengis.referencing.datum.PixelInCell)">translate(MathTransform, PixelInCell, PixelInCell)</a></span> - Static method in class <a href="org/apache/sis/coverage/grid/PixelTranslation.html" title="class in org.apache.sis.coverage.grid">PixelTranslation</a></dt>
<dd>
<div class="block">Converts a math transform from a "pixel in cell" convention to another "pixel in cell" convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#translation(double...)">translation(double...)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Creates an affine transform which applies the given translation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html#translator">translator</a></span> - Variable in class <a href="org/apache/sis/referencing/factory/sql/EPSGDataAccess.html" title="class in org.apache.sis.referencing.factory.sql">EPSGDataAccess</a></dt>
<dd>
<div class="block">The translator from the SQL statements using MS-Access dialect
 to SQL statements using the dialect of the actual database.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">Transliterator</span></a> - Class in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Controls the replacement of characters, abbreviations and names between the objects in memory and their
 WKT representations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Transliterator.html#%3Cinit%3E()">Transliterator()</a></span> - Constructor for class <a href="org/apache/sis/io/wkt/Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></dt>
<dd>
<div class="block">For sub-class constructors.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix1.html#transpose()">transpose()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></dt>
<dd>
<div class="block">For a 1×1 matrix, this method does nothing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix2.html#transpose()">transpose()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></dt>
<dd>
<div class="block">Sets the value of this matrix to its transpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix3.html#transpose()">transpose()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></dt>
<dd>
<div class="block">Sets the value of this matrix to its transpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrix4.html#transpose()">transpose()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></dt>
<dd>
<div class="block">Sets the value of this matrix to its transpose.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html#transpose()">transpose()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></dt>
<dd>
<div class="block">Sets the value of this matrix to its transpose.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">TransverseMercator</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Transverse Mercator</cite> projection (EPSG codes 9807).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">TransverseMercator(OperationMethod, Parameters)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/TransverseMercator.html" title="class in org.apache.sis.referencing.operation.projection">TransverseMercator</a></dt>
<dd>
<div class="block">Creates a Transverse Mercator projection from the given parameters.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/TreeTable.html" title="interface in org.apache.sis.util.collection"><span class="typeNameLink">TreeTable</span></a> - Interface in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">Defines the structure (list of columns) of a table and provides the root of the tree
 containing the data.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/TreeTable.Node.html" title="interface in org.apache.sis.util.collection"><span class="typeNameLink">TreeTable.Node</span></a> - Interface in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A node in a tree combined with a row in a table.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">TreeTableFormat</span></a> - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A parser and formatter for <a href="org/apache/sis/util/collection/TreeTable.html" title="interface in org.apache.sis.util.collection"><code>TreeTable</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">TreeTableFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Creates a new tree table format.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/TreeTables.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">TreeTables</span></a> - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">Static methods working on <a href="org/apache/sis/util/collection/TreeTable.html" title="interface in org.apache.sis.util.collection"><code>TreeTable</code></a> objects and their nodes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#trimFractionalPart(java.lang.CharSequence)">trimFractionalPart(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Trims the fractional part of the given formatted number, provided that it doesn't change
 the value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/StringBuilders.html#trimFractionalPart(java.lang.StringBuilder)">trimFractionalPart(StringBuilder)</a></span> - Static method in class <a href="org/apache/sis/util/StringBuilders.html" title="class in org.apache.sis.util">StringBuilders</a></dt>
<dd>
<div class="block">Trims the fractional part of the given formatted number, provided that it doesn't change
 the value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html#trimNamespace(java.lang.String)">trimNamespace(String)</a></span> - Method in class <a href="org/apache/sis/referencing/factory/GeodeticAuthorityFactory.html" title="class in org.apache.sis.referencing.factory">GeodeticAuthorityFactory</a></dt>
<dd>
<div class="block">Trims the namespace, if present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/IntegerList.html#trimToSize()">trimToSize()</a></span> - Method in class <a href="org/apache/sis/util/collection/IntegerList.html" title="class in org.apache.sis.util.collection">IntegerList</a></dt>
<dd>
<div class="block">Trims the capacity of this list to be its current size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/RangeSet.html#trimToSize()">trimToSize()</a></span> - Method in class <a href="org/apache/sis/util/collection/RangeSet.html" title="class in org.apache.sis.util.collection">RangeSet</a></dt>
<dd>
<div class="block">Trims this set to the minimal amount of memory required for holding its data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#trimWhitespaces(java.lang.CharSequence)">trimWhitespaces(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns a text with leading and trailing whitespace characters omitted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#trimWhitespaces(java.lang.CharSequence,int,int)">trimWhitespaces(CharSequence, int, int)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns a sub-sequence with leading and trailing whitespace characters omitted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#trimWhitespaces(java.lang.String)">trimWhitespaces(String)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Returns a string with leading and trailing whitespace characters omitted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#TROPICAL_YEAR">TROPICAL_YEAR</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement approximately equals to 365.24219 days (1 a).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#truncate(double)">truncate(double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Truncates the given value toward zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#TRUNCATED_JULIAN">TRUNCATED_JULIAN</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Time measured as days since May 24, 1968 at 00:00 UTC.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html#tryConcatenate(boolean,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)">tryConcatenate(boolean, MathTransform, MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></dt>
<dd>
<div class="block">Concatenates or pre-concatenates in an optimized way this projection with the given transform, if possible.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html#tryConcatenate(boolean,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)">tryConcatenate(boolean, MathTransform, MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></dt>
<dd>
<div class="block">Concatenates or pre-concatenates in an optimized way this math transform with the given one, if possible.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html#tryConcatenate(boolean,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)">tryConcatenate(boolean, MathTransform, MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></dt>
<dd>
<div class="block">If this transform expects three-dimensional inputs, and if the transform just before this one
 unconditionally sets the height to zero, then replaces this transform by a two-dimensional one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html#tryConcatenate(boolean,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)">tryConcatenate(boolean, MathTransform, MathTransformFactory)</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></dt>
<dd>
<div class="block">Concatenates or pre-concatenates in an optimized way this transform with the given transform, if possible.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#TWO_DIMENSIONAL">TWO_DIMENSIONAL</a></span> - <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">Two-dimensional fix.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#tX">tX</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">X-axis translation in metres (EPSG:8605).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#tY">tY</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Y-axis translation in metres (EPSG:8606).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#TYPE">TYPE</a></span> - <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Type of property values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#TYPE">TYPE</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Responsible</a></dt>
<dd>
<div class="block">The attribute name for the responsible's type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#TYPE">TYPE</a></span> - Static variable in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Frequently-used constant for a column of object types.</div>
</dd>
<dt><a href="org/apache/sis/feature/builder/TypeBuilder.html" title="class in org.apache.sis.feature.builder"><span class="typeNameLink">TypeBuilder</span></a> - Class in <a href="org/apache/sis/feature/builder/package-summary.html">org.apache.sis.feature.builder</a></dt>
<dd>
<div class="block">Information common to all kind of types (feature, association, characteristics).</div>
</dd>
<dt><a href="org/apache/sis/util/iso/Types.html" title="class in org.apache.sis.util.iso"><span class="typeNameLink">Types</span></a> - Class in <a href="org/apache/sis/util/iso/package-summary.html">org.apache.sis.util.iso</a></dt>
<dd>
<div class="block">Static methods working on GeoAPI types and <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/CodeList.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>CodeList</code></a> values.</div>
</dd>
<dt><a href="org/apache/sis/metadata/TypeValuePolicy.html" title="enum in org.apache.sis.metadata"><span class="typeNameLink">TypeValuePolicy</span></a> - Enum in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">The kind of values in the <a href="org/apache/sis/metadata/MetadataStandard.html#asTypeMap(java.lang.Class,org.apache.sis.metadata.KeyNamePolicy,org.apache.sis.metadata.TypeValuePolicy)"><code>MetadataStandard.asTypeMap(…)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/datum/BursaWolfParameters.html#tZ">tZ</a></span> - Variable in class <a href="org/apache/sis/referencing/datum/BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a></dt>
<dd>
<div class="block">Z-axis translation in metres (EPSG:8607).</div>
</dd>
</dl>
<a id="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.Style.html#UCUM">UCUM</a></span> - <a href="org/apache/sis/measure/UnitFormat.Style.html" title="enum in org.apache.sis.measure">UnitFormat.Style</a></dt>
<dd>
<div class="block">Format unit symbols using a syntax close to the Unified Code for Units of Measure (UCUM) one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/KeyNamePolicy.html#UML_IDENTIFIER">UML_IDENTIFIER</a></span> - <a href="org/apache/sis/metadata/KeyNamePolicy.html" title="enum in org.apache.sis.metadata">KeyNamePolicy</a></dt>
<dd>
<div class="block">The keys in the map are the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#identifier()" title="class or interface in org.opengis.annotation" class="externalLink">UML identifier</a> of the metadata
 properties.</div>
</dd>
<dt><a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html" title="class in org.apache.sis.referencing.factory"><span class="typeNameLink">UnavailableFactoryException</span></a> - Exception in <a href="org/apache/sis/referencing/factory/package-summary.html">org.apache.sis.referencing.factory</a></dt>
<dd>
<div class="block">Thrown when a whole factory can not be created because a resource is missing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html#%3Cinit%3E()">UnavailableFactoryException()</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html" title="class in org.apache.sis.referencing.factory">UnavailableFactoryException</a></dt>
<dd>
<div class="block">Construct an exception with no detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html#%3Cinit%3E(java.lang.String)">UnavailableFactoryException(String)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html" title="class in org.apache.sis.referencing.factory">UnavailableFactoryException</a></dt>
<dd>
<div class="block">Construct an exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnavailableFactoryException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/referencing/factory/UnavailableFactoryException.html" title="class in org.apache.sis.referencing.factory">UnavailableFactoryException</a></dt>
<dd>
<div class="block">Construct an exception with the specified detail message and cause.</div>
</dd>
<dt><a href="org/apache/sis/util/UnconvertibleObjectException.html" title="class in org.apache.sis.util"><span class="typeNameLink">UnconvertibleObjectException</span></a> - Exception in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Thrown when an object can not be <a href="org/apache/sis/util/ObjectConverter.html#apply(S)">converted</a>
 from the <cite>source</cite> type to the <cite>target</cite> type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnconvertibleObjectException.html#%3Cinit%3E()">UnconvertibleObjectException()</a></span> - Constructor for exception <a href="org/apache/sis/util/UnconvertibleObjectException.html" title="class in org.apache.sis.util">UnconvertibleObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnconvertibleObjectException.html#%3Cinit%3E(java.lang.String)">UnconvertibleObjectException(String)</a></span> - Constructor for exception <a href="org/apache/sis/util/UnconvertibleObjectException.html" title="class in org.apache.sis.util">UnconvertibleObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnconvertibleObjectException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnconvertibleObjectException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/util/UnconvertibleObjectException.html" title="class in org.apache.sis.util">UnconvertibleObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnconvertibleObjectException.html#%3Cinit%3E(java.lang.Throwable)">UnconvertibleObjectException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/util/UnconvertibleObjectException.html" title="class in org.apache.sis.util">UnconvertibleObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridGeometry.html#UNDEFINED">UNDEFINED</a></span> - Static variable in class <a href="org/apache/sis/coverage/grid/GridGeometry.html" title="class in org.apache.sis.coverage.grid">GridGeometry</a></dt>
<dd>
<div class="block">An "empty" grid geometry with no value defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#UNDETERMINED">UNDETERMINED</a></span> - Static variable in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">The open capability can not be determined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/Logging.html#unexpectedException(java.util.logging.Logger,java.lang.Class,java.lang.String,java.lang.Throwable)">unexpectedException(Logger, Class&lt;?&gt;, String, Throwable)</a></span> - Static method in class <a href="org/apache/sis/util/logging/Logging.html" title="class in org.apache.sis.util.logging">Logging</a></dt>
<dd>
<div class="block">Invoked when an unexpected error occurred.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/UnformattableObjectException.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">UnformattableObjectException</span></a> - Exception in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Thrown by <a href="org/apache/sis/io/wkt/FormattableObject.html#toWKT()"><code>FormattableObject.toWKT()</code></a> when an object can not be formatted as WKT.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnformattableObjectException.html#%3Cinit%3E()">UnformattableObjectException()</a></span> - Constructor for exception <a href="org/apache/sis/io/wkt/UnformattableObjectException.html" title="class in org.apache.sis.io.wkt">UnformattableObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnformattableObjectException.html#%3Cinit%3E(java.lang.String)">UnformattableObjectException(String)</a></span> - Constructor for exception <a href="org/apache/sis/io/wkt/UnformattableObjectException.html" title="class in org.apache.sis.io.wkt">UnformattableObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnformattableObjectException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnformattableObjectException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/io/wkt/UnformattableObjectException.html" title="class in org.apache.sis.io.wkt">UnformattableObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnformattableObjectException.html#%3Cinit%3E(java.lang.Throwable)">UnformattableObjectException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/io/wkt/UnformattableObjectException.html" title="class in org.apache.sis.io.wkt">UnformattableObjectException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Characters.Filter.html#UNICODE_IDENTIFIER">UNICODE_IDENTIFIER</a></span> - Static variable in class <a href="org/apache/sis/util/Characters.Filter.html" title="class in org.apache.sis.util">Characters.Filter</a></dt>
<dd>
<div class="block">The subset of all characters for which <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true#isUnicodeIdentifierPart(int)" title="class or interface in java.lang" class="externalLink"><code>Character.isUnicodeIdentifierPart(int)</code></a>
 returns <code>true</code>, excluding <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true#isIdentifierIgnorable(int)" title="class or interface in java.lang" class="externalLink">ignorable</a> characters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/MathTransforms.html#uniformTranslation(int,double)">uniformTranslation(int, double)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/transform/MathTransforms.html" title="class in org.apache.sis.referencing.operation.transform">MathTransforms</a></dt>
<dd>
<div class="block">Creates an affine transform which applies the same translation for all dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#union(org.apache.sis.measure.Range)">union(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Returns the union of this range with the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Range.html#union(org.apache.sis.measure.Range)">union(Range&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/Range.html" title="class in org.apache.sis.measure">Range</a></dt>
<dd>
<div class="block">Returns the union of this range with the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/Envelopes.html#union(org.opengis.geometry.Envelope...)">union(Envelope...)</a></span> - Static method in class <a href="org/apache/sis/geometry/Envelopes.html" title="class in org.apache.sis.geometry">Envelopes</a></dt>
<dd>
<div class="block">Computes the union of all given envelopes, transforming them to a common CRS if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/NumberRange.html#unionAny(org.apache.sis.measure.NumberRange)">unionAny(NumberRange&lt;?&gt;)</a></span> - Method in class <a href="org/apache/sis/measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a></dt>
<dd>
<div class="block">Returns the union of this range with the given range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ArraysExt.html#unionOfSorted(int%5B%5D,int%5B%5D)">unionOfSorted(int[], int[])</a></span> - Static method in class <a href="org/apache/sis/util/ArraysExt.html" title="class in org.apache.sis.util">ArraysExt</a></dt>
<dd>
<div class="block">Returns the union of two sorted arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#unique()">unique()</a></span> - Method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Returns a unique fraction instance equals to <code>this</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Locales.html#unique(java.util.Locale)">unique(Locale)</a></span> - Static method in class <a href="org/apache/sis/util/Locales.html" title="class in org.apache.sis.util">Locales</a></dt>
<dd>
<div class="block">Returns a unique instance of the given locale, if one is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#unique(T)">unique(T)</a></span> - Method in class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Returns an object equals to <code>element</code> if such an object already exist in this
 <code>WeakHashSet</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#unit">unit</a></span> - Variable in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">The unit of measure for the value, or <code>null</code> if it does not apply.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/MeasurementRange.html#unit()">unit()</a></span> - Method in class <a href="org/apache/sis/measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a></dt>
<dd>
<div class="block">Returns the unit of measurement, or <code>null</code> if unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#UNIT">UNIT</a></span> - <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block"><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">Units of measurement</a>,
 often represented by <code>UNIT[…]</code> elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.Field.html#UNIT">UNIT</a></span> - Static variable in class <a href="org/apache/sis/measure/RangeFormat.Field.html" title="class in org.apache.sis.measure">RangeFormat.Field</a></dt>
<dd>
<div class="block">Identifies the unit field in a range, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/RangeFormat.html#unitFormat">unitFormat</a></span> - Variable in class <a href="org/apache/sis/measure/RangeFormat.html" title="class in org.apache.sis.measure">RangeFormat</a></dt>
<dd>
<div class="block">The format for unit of measurement, or <code>null</code> if none.</div>
</dd>
<dt><a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure"><span class="typeNameLink">UnitFormat</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">Parses and formats units of measurement as SI symbols, URI in OGC namespace or other symbols.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.html#%3Cinit%3E(java.util.Locale)">UnitFormat(Locale)</a></span> - Constructor for class <a href="org/apache/sis/measure/UnitFormat.html" title="class in org.apache.sis.measure">UnitFormat</a></dt>
<dd>
<div class="block">Creates a new format for the given locale.</div>
</dd>
<dt><a href="org/apache/sis/measure/UnitFormat.Style.html" title="enum in org.apache.sis.measure"><span class="typeNameLink">UnitFormat.Style</span></a> - Enum in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">Identify whether unit formatting uses ASCII symbols, Unicode symbols or full localized names.</div>
</dd>
<dt><a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure"><span class="typeNameLink">Units</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">Provides constants for various Units of Measurement together with static methods working on <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"><code>Unit</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html#UNITS">UNITS</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Dimension.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Dimension</a></dt>
<dd>
<div class="block">The attribute name for the bounding box units of measurement.</div>
</dd>
<dt><a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure"><span class="typeNameLink">UnitServices</span></a> - Class in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">The central point from which all unit services (parsing, formatting, listing, <i>etc</i>) can be obtained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitServices.html#%3Cinit%3E()">UnitServices()</a></span> - Constructor for class <a href="org/apache/sis/measure/UnitServices.html" title="class in org.apache.sis.measure">UnitServices</a></dt>
<dd>
<div class="block">Creates a new service provider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#UNITY">UNITY</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The base dimensionless unit for scale measurements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#universal(double,double)">universal(double, double)</a></span> - Method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns a Universal Transverse Mercator (UTM) or a Universal Polar Stereographic (UPS) projection
 for the zone containing the given point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#UNIX">UNIX</a></span> - <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Time measured as seconds since January 1st, 1970 at 00:00 UTC.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#UNKNOWN">UNKNOWN</a></span> - Static variable in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">The correct value is not known to, and not computable by, the sender of this data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/console/Command.html#UNKNOWN_STORAGE_EXIT_CODE">UNKNOWN_STORAGE_EXIT_CODE</a></span> - Static variable in class <a href="org/apache/sis/console/Command.html" title="class in org.apache.sis.console">Command</a></dt>
<dd>
<div class="block">The code given to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#exit(int)" title="class or interface in java.lang" class="externalLink"><code>System.exit(int)</code></a> when a file given in argument uses an unknown file format.</div>
</dd>
<dt><a href="org/apache/sis/util/UnknownNameException.html" title="class in org.apache.sis.util"><span class="typeNameLink">UnknownNameException</span></a> - Exception in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Thrown when an operation can not complete because a given name is unrecognized.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnknownNameException.html#%3Cinit%3E()">UnknownNameException()</a></span> - Constructor for exception <a href="org/apache/sis/util/UnknownNameException.html" title="class in org.apache.sis.util">UnknownNameException</a></dt>
<dd>
<div class="block">Constructs a new exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnknownNameException.html#%3Cinit%3E(java.lang.String)">UnknownNameException(String)</a></span> - Constructor for exception <a href="org/apache/sis/util/UnknownNameException.html" title="class in org.apache.sis.util">UnknownNameException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnknownNameException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnknownNameException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/util/UnknownNameException.html" title="class in org.apache.sis.util">UnknownNameException</a></dt>
<dd>
<div class="block">Constructs a new exception with the specified detail message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#unmarshal(java.io.File)">unmarshal(File)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Unmarshal an object from the given file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#unmarshal(java.io.InputStream)">unmarshal(InputStream)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Unmarshal an object from the given stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#unmarshal(java.lang.String)">unmarshal(String)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Unmarshal an object from the given string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#unmarshal(java.net.URL)">unmarshal(URL)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Unmarshal an object from the given URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#unmarshal(java.nio.file.Path)">unmarshal(Path)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Unmarshal an object from the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#unmarshal(javax.xml.transform.Source,java.lang.Class,java.util.Map)">unmarshal(Source, Class&lt;T&gt;, Map&lt;String, ?&gt;)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Unmarshal an object from the given stream, DOM or other sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#unmarshal(javax.xml.transform.Source,java.util.Map)">unmarshal(Source, Map&lt;String, ?&gt;)</a></span> - Static method in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Unmarshal an object from the given stream, DOM or other sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#unmodifiable()">unmodifiable()</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <code>MetadataCopier.forModifiable(getStandard()).copy(this).transition(State.FINAL)</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#unmodifiable(org.opengis.parameter.ParameterValue)">unmodifiable(ParameterValue&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns an unmodifiable implementation of the given parameter value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/Parameters.html#unmodifiable(org.opengis.parameter.ParameterValueGroup)">unmodifiable(ParameterValueGroup)</a></span> - Static method in class <a href="org/apache/sis/parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></dt>
<dd>
<div class="block">Returns the given parameter value group as an unmodifiable <code>Parameters</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/matrix/Matrices.html#unmodifiable(org.opengis.referencing.operation.Matrix)">unmodifiable(Matrix)</a></span> - Static method in class <a href="org/apache/sis/referencing/operation/matrix/Matrices.html" title="class in org.apache.sis.referencing.operation.matrix">Matrices</a></dt>
<dd>
<div class="block">Returns an unmodifiable view of the given matrix.</div>
</dd>
<dt><a href="org/apache/sis/geometry/UnmodifiableGeometryException.html" title="class in org.apache.sis.geometry"><span class="typeNameLink">UnmodifiableGeometryException</span></a> - Exception in <a href="org/apache/sis/geometry/package-summary.html">org.apache.sis.geometry</a></dt>
<dd>
<div class="block">Indicates that an operation is not allowed on a geometry object
 because it is unmodifiable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/UnmodifiableGeometryException.html#%3Cinit%3E()">UnmodifiableGeometryException()</a></span> - Constructor for exception <a href="org/apache/sis/geometry/UnmodifiableGeometryException.html" title="class in org.apache.sis.geometry">UnmodifiableGeometryException</a></dt>
<dd>
<div class="block">Creates an exception with no message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/geometry/UnmodifiableGeometryException.html#%3Cinit%3E(java.lang.String)">UnmodifiableGeometryException(String)</a></span> - Constructor for exception <a href="org/apache/sis/geometry/UnmodifiableGeometryException.html" title="class in org.apache.sis.geometry">UnmodifiableGeometryException</a></dt>
<dd>
<div class="block">Creates an exception with the specified message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#unmodifiableList(E...)">unmodifiableList(E...)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Returns an unmodifiable view of the given array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/Containers.html#unmodifiableList(E%5B%5D,int,int)">unmodifiableList(E[], int, int)</a></span> - Static method in class <a href="org/apache/sis/util/collection/Containers.html" title="class in org.apache.sis.util.collection">Containers</a></dt>
<dd>
<div class="block">Returns an unmodifiable view of a subregion of the given array.</div>
</dd>
<dt><a href="org/apache/sis/metadata/UnmodifiableMetadataException.html" title="class in org.apache.sis.metadata"><span class="typeNameLink">UnmodifiableMetadataException</span></a> - Exception in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Thrown on attempt to set a read-only value in a metadata object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/UnmodifiableMetadataException.html#%3Cinit%3E(java.lang.String)">UnmodifiableMetadataException(String)</a></span> - Constructor for exception <a href="org/apache/sis/metadata/UnmodifiableMetadataException.html" title="class in org.apache.sis.metadata">UnmodifiableMetadataException</a></dt>
<dd>
<div class="block">Creates a new exception with the specified detail message.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/UnparsableObjectException.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">UnparsableObjectException</span></a> - Exception in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Thrown when a <cite>Well Known Text</cite> (WKT) can not be parsed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/UnparsableObjectException.html#%3Cinit%3E(java.lang.String,int)">UnparsableObjectException(String, int)</a></span> - Constructor for exception <a href="org/apache/sis/io/wkt/UnparsableObjectException.html" title="class in org.apache.sis.io.wkt">UnparsableObjectException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/ProbeResult.html#UNSUPPORTED_STORAGE">UNSUPPORTED_STORAGE</a></span> - Static variable in class <a href="org/apache/sis/storage/ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></dt>
<dd>
<div class="block">The <code>DataStoreProvider</code> does not recognize the given storage object, file format or database schema.</div>
</dd>
<dt><a href="org/apache/sis/util/UnsupportedImplementationException.html" title="class in org.apache.sis.util"><span class="typeNameLink">UnsupportedImplementationException</span></a> - Exception in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Thrown when an operation can not use arbitrary implementation of an interface,
 and a given instance does not met the requirement.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnsupportedImplementationException.html#%3Cinit%3E(java.lang.Class)">UnsupportedImplementationException(Class&lt;?&gt;)</a></span> - Constructor for exception <a href="org/apache/sis/util/UnsupportedImplementationException.html" title="class in org.apache.sis.util">UnsupportedImplementationException</a></dt>
<dd>
<div class="block">Constructs an exception with an error message formatted for the specified class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnsupportedImplementationException.html#%3Cinit%3E(java.lang.Class,java.lang.Exception)">UnsupportedImplementationException(Class&lt;?&gt;, Exception)</a></span> - Constructor for exception <a href="org/apache/sis/util/UnsupportedImplementationException.html" title="class in org.apache.sis.util">UnsupportedImplementationException</a></dt>
<dd>
<div class="block">Constructs an exception with an error message formatted for the specified class
 and a cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/UnsupportedImplementationException.html#%3Cinit%3E(java.lang.String)">UnsupportedImplementationException(String)</a></span> - Constructor for exception <a href="org/apache/sis/util/UnsupportedImplementationException.html" title="class in org.apache.sis.util">UnsupportedImplementationException</a></dt>
<dd>
<div class="block">Constructs an exception with the specified detail message.</div>
</dd>
<dt><a href="org/apache/sis/storage/UnsupportedQueryException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">UnsupportedQueryException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when a resources can not be filtered with a given query.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedQueryException.html#%3Cinit%3E()">UnsupportedQueryException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedQueryException.html" title="class in org.apache.sis.storage">UnsupportedQueryException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedQueryException.html#%3Cinit%3E(java.lang.String)">UnsupportedQueryException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedQueryException.html" title="class in org.apache.sis.storage">UnsupportedQueryException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedQueryException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnsupportedQueryException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedQueryException.html" title="class in org.apache.sis.storage">UnsupportedQueryException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedQueryException.html#%3Cinit%3E(java.lang.Throwable)">UnsupportedQueryException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedQueryException.html" title="class in org.apache.sis.storage">UnsupportedQueryException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><a href="org/apache/sis/storage/UnsupportedStorageException.html" title="class in org.apache.sis.storage"><span class="typeNameLink">UnsupportedStorageException</span></a> - Exception in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">Thrown when no <a href="org/apache/sis/storage/DataStoreProvider.html" title="class in org.apache.sis.storage"><code>DataStoreProvider</code></a> is found for a given storage object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedStorageException.html#%3Cinit%3E()">UnsupportedStorageException()</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedStorageException.html" title="class in org.apache.sis.storage">UnsupportedStorageException</a></dt>
<dd>
<div class="block">Creates an exception with no cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedStorageException.html#%3Cinit%3E(java.lang.String)">UnsupportedStorageException(String)</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedStorageException.html" title="class in org.apache.sis.storage">UnsupportedStorageException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedStorageException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnsupportedStorageException(String, Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedStorageException.html" title="class in org.apache.sis.storage">UnsupportedStorageException</a></dt>
<dd>
<div class="block">Creates an exception with the specified details message and cause.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedStorageException.html#%3Cinit%3E(java.lang.Throwable)">UnsupportedStorageException(Throwable)</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedStorageException.html" title="class in org.apache.sis.storage">UnsupportedStorageException</a></dt>
<dd>
<div class="block">Creates an exception with the specified cause and no details message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/UnsupportedStorageException.html#%3Cinit%3E(java.util.Locale,java.lang.String,java.lang.Object,java.nio.file.OpenOption...)">UnsupportedStorageException(Locale, String, Object, OpenOption...)</a></span> - Constructor for exception <a href="org/apache/sis/storage/UnsupportedStorageException.html" title="class in org.apache.sis.storage">UnsupportedStorageException</a></dt>
<dd>
<div class="block">Creates a localized exception for an invalid input or output object given to a data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Exceptions.html#unwrap(java.lang.Exception)">unwrap(Exception)</a></span> - Static method in class <a href="org/apache/sis/util/Exceptions.html" title="class in org.apache.sis.util">Exceptions</a></dt>
<dd>
<div class="block">If the given exception is a wrapper for another exception, returns the unwrapped exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerFactory.html#unwrap(java.util.logging.Logger)">unwrap(Logger)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerFactory.html" title="class in org.apache.sis.util.logging">LoggerFactory</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/sis/util/logging/LoggerFactory.html#getImplementation(java.lang.String)">implementation</a> wrapped by the specified
 logger, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/BackingStoreException.html#unwrapOrRethrow(java.lang.Class)">unwrapOrRethrow(Class&lt;E&gt;)</a></span> - Method in exception <a href="org/apache/sis/util/collection/BackingStoreException.html" title="class in org.apache.sis.util.collection">BackingStoreException</a></dt>
<dd>
<div class="block">Returns the underlying <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang" class="externalLink">cause</a> as an exception of the given type,
 or re-throw the exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Window.html#update()">update()</a></span> - Method in class <a href="org/apache/sis/image/PixelIterator.Window.html" title="class in org.apache.sis.image">PixelIterator.Window</a></dt>
<dd>
<div class="block">Updates this window with the sample values in the region starting at current iterator position.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/WritableFeatureSet.html#updateType(org.apache.sis.feature.DefaultFeatureType)">updateType(DefaultFeatureType)</a></span> - Method in interface <a href="org/apache/sis/storage/WritableFeatureSet.html" title="interface in org.apache.sis.storage">WritableFeatureSet</a></dt>
<dd>
<div class="block">Declares or redefines the type of all feature instances in this feature set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordCase.html#UPPER_CASE">UPPER_CASE</a></span> - <a href="org/apache/sis/io/wkt/KeywordCase.html" title="enum in org.apache.sis.io.wkt">KeywordCase</a></dt>
<dd>
<div class="block">WKT formatting uses upper case keywords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/CharSequences.html#upperCaseToSentence(java.lang.CharSequence)">upperCaseToSentence(CharSequence)</a></span> - Static method in class <a href="org/apache/sis/util/CharSequences.html" title="class in org.apache.sis.util">CharSequences</a></dt>
<dd>
<div class="block">Given a string in upper cases (typically a Java constant), returns a string formatted
 like an English sentence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html#URL">URL</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Responsible.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Responsible</a></dt>
<dd>
<div class="block">The attribute name for the responsible's URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/OptionKey.html#URL_ENCODING">URL_ENCODING</a></span> - Static variable in class <a href="org/apache/sis/setup/OptionKey.html" title="class in org.apache.sis.setup">OptionKey</a></dt>
<dd>
<div class="block">The encoding of a URL (<strong>not</strong> the encoding of the document content).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#US_SURVEY_FOOT">US_SURVEY_FOOT</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement approximately equals to 0.3048006096… metres.</div>
</dd>
<dt><a href="org/apache/sis/util/Utilities.html" title="class in org.apache.sis.util"><span class="typeNameLink">Utilities</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Static methods for object comparisons in different ways (deeply, approximately, <i>etc</i>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifierSpace.html#UUID">UUID</a></span> - Static variable in interface <a href="org/apache/sis/xml/IdentifierSpace.html" title="interface in org.apache.sis.xml">IdentifierSpace</a></dt>
<dd>
<div class="block">An optional attribute available on every object-with-identity provided in the GMD schemas
 that implement ISO 19115 in XML.</div>
</dd>
</dl>
<a id="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html#VALID_DATASET">VALID_DATASET</a></span> - <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html" title="enum in org.apache.sis.referencing.factory">IdentifiedObjectFinder.Domain</a></dt>
<dd>
<div class="block">Lookup based on valid (non-deprecated) objects known to the factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/Features.html#validate(org.apache.sis.feature.AbstractFeature)">validate(AbstractFeature)</a></span> - Static method in class <a href="org/apache/sis/feature/Features.html" title="class in org.apache.sis.feature">Features</a></dt>
<dd>
<div class="block">Ensures that all characteristics and property values in the given feature are valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#validate(T)">validate(T)</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Invoked by <a href="org/apache/sis/parameter/DefaultParameterValue.html#setValue(java.lang.Object,javax.measure.Unit)"><code>DefaultParameterValue.setValue(Object, Unit)</code></a> after the basic verifications have been done and before
 the value is stored.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#value">value</a></span> - Variable in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">The value, or <code>null</code> if undefined.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#VALUE">VALUE</a></span> - <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Property value (for properties) or default value (for property types).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#VALUE">VALUE</a></span> - Static variable in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Frequently-used constant for a column of object values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#VALUE_AS_NUMBER">VALUE_AS_NUMBER</a></span> - Static variable in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Frequently-used constant for a column of object numerical values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TableColumn.html#VALUE_AS_TEXT">VALUE_AS_TEXT</a></span> - Static variable in class <a href="org/apache/sis/util/collection/TableColumn.html" title="class in org.apache.sis.util.collection">TableColumn</a></dt>
<dd>
<div class="block">Frequently-used constant for a column of object textual values.</div>
</dd>
<dt><a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml"><span class="typeNameLink">ValueConverter</span></a> - Class in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Performs conversions of XML element or attribute values encountered during XML (un)marshalling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/ValueConverter.html#%3Cinit%3E()">ValueConverter()</a></span> - Constructor for class <a href="org/apache/sis/xml/ValueConverter.html" title="class in org.apache.sis.xml">ValueConverter</a></dt>
<dd>
<div class="block">Creates a default <code>ValueConverter</code>.</div>
</dd>
<dt><a href="org/apache/sis/metadata/ValueExistencePolicy.html" title="enum in org.apache.sis.metadata"><span class="typeNameLink">ValueExistencePolicy</span></a> - Enum in <a href="org/apache/sis/metadata/package-summary.html">org.apache.sis.metadata</a></dt>
<dd>
<div class="block">Whatever <a href="org/apache/sis/metadata/MetadataStandard.html#asValueMap(java.lang.Object,java.lang.Class,org.apache.sis.metadata.KeyNamePolicy,org.apache.sis.metadata.ValueExistencePolicy)"><code>MetadataStandard.asValueMap(…)</code></a> shall contain entries for null,
 <a href="org/apache/sis/xml/NilObject.html" title="interface in org.apache.sis.xml">nil</a> or empty values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValue.html#valueFile()">valueFile()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a></dt>
<dd>
<div class="block">Returns a reference to a file or a part of a file containing one or more parameter values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Fraction.html#valueOf(double)">valueOf(double)</a></span> - Static method in class <a href="org/apache/sis/math/Fraction.html" title="class in org.apache.sis.math">Fraction</a></dt>
<dd>
<div class="block">Converts the given IEEE 754 double-precision value to a fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/TransferType.html#valueOf(int)">valueOf(int)</a></span> - Static method in class <a href="org/apache/sis/image/TransferType.html" title="class in org.apache.sis.image">TransferType</a></dt>
<dd>
<div class="block">Returns the enumeration value for the given <code>DataBuffer</code> constant.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#valueOf(int...)">valueOf(int...)</a></span> - Static method in class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Returns an instance for the given integer values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridRoundingMode.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/coverage/grid/GridRoundingMode.html" title="enum in org.apache.sis.coverage.grid">GridRoundingMode</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeRole.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/feature/builder/AttributeRole.html" title="enum in org.apache.sis.feature.builder">AttributeRole</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FoliationRepresentation.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/feature/FoliationRepresentation.html" title="enum in org.apache.sis.feature">FoliationRepresentation</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/NodeType.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/index/tree/NodeType.html" title="enum in org.apache.sis.index.tree">NodeType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordCase.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/KeywordCase.html" title="enum in org.apache.sis.io.wkt">KeywordCase</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordStyle.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/KeywordStyle.html" title="enum in org.apache.sis.io.wkt">KeywordStyle</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.Style.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/measure/UnitFormat.Style.html" title="enum in org.apache.sis.measure">UnitFormat.Style</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Parses the given symbol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/KeyNamePolicy.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/metadata/KeyNamePolicy.html" title="enum in org.apache.sis.metadata">KeyNamePolicy</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.State.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/metadata/ModifiableMetadata.State.html" title="enum in org.apache.sis.metadata">ModifiableMetadata.State</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/TypeValuePolicy.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/metadata/TypeValuePolicy.html" title="enum in org.apache.sis.metadata">TypeValuePolicy</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ValueExistencePolicy.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/metadata/ValueExistencePolicy.html" title="enum in org.apache.sis.metadata">ValueExistencePolicy</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html" title="enum in org.apache.sis.parameter">ParameterFormat.ContentLevel</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxesConvention.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/cs/AxesConvention.html" title="enum in org.apache.sis.referencing.cs">AxesConvention</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html" title="enum in org.apache.sis.referencing.factory">IdentifiedObjectFinder.Domain</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Format.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Format.html" title="enum in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Format</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.TargetType.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.TargetType.html" title="enum in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform.TargetType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">IterationStrategy</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/GeometryLibrary.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/setup/GeometryLibrary.html" title="enum in org.apache.sis.setup">GeometryLibrary</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">Parses the given nil reason.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Actuate.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/xml/XLink.Actuate.html" title="enum in org.apache.sis.xml">XLink.Actuate</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Show.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/xml/XLink.Show.html" title="enum in org.apache.sis.xml">XLink.Show</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#valueOf(java.lang.String,java.lang.Class)">valueOf(String, Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Converts the specified string into a value object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#valueOfEPSG(int)">valueOfEPSG(int)</a></span> - Static method in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Returns a hard-coded unit from an EPSG code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#valueOfNil(java.lang.Class)">valueOfNil(Class&lt;T&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns a <code>NaN</code>, zero, empty or <code>null</code> value of the given type.</div>
</dd>
<dt><a href="org/apache/sis/measure/ValueRange.html" title="annotation in org.apache.sis.measure"><span class="typeNameLink">ValueRange</span></a> - Annotation Type in <a href="org/apache/sis/measure/package-summary.html">org.apache.sis.measure</a></dt>
<dd>
<div class="block">The range of values assignable to a field, or to a JavaBean property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/image/PixelIterator.Window.html#values">values</a></span> - Variable in class <a href="org/apache/sis/image/PixelIterator.Window.html" title="class in org.apache.sis.image">PixelIterator.Window</a></dt>
<dd>
<div class="block">A buffer containing all sample values fetched by the last call to <a href="org/apache/sis/image/PixelIterator.Window.html#update()"><code>PixelIterator.Window.update()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/coverage/grid/GridRoundingMode.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/coverage/grid/GridRoundingMode.html" title="enum in org.apache.sis.coverage.grid">GridRoundingMode</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/builder/AttributeRole.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/feature/builder/AttributeRole.html" title="enum in org.apache.sis.feature.builder">AttributeRole</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FeatureFormat.Column.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/feature/FeatureFormat.Column.html" title="enum in org.apache.sis.feature">FeatureFormat.Column</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/feature/FoliationRepresentation.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/feature/FoliationRepresentation.html" title="enum in org.apache.sis.feature">FoliationRepresentation</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/NodeType.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/index/tree/NodeType.html" title="enum in org.apache.sis.index.tree">NodeType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/ElementKind.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/ElementKind.html" title="enum in org.apache.sis.io.wkt">ElementKind</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordCase.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/KeywordCase.html" title="enum in org.apache.sis.io.wkt">KeywordCase</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/KeywordStyle.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/io/wkt/KeywordStyle.html" title="enum in org.apache.sis.io.wkt">KeywordStyle</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/FunctionProperty.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/math/FunctionProperty.html" title="enum in org.apache.sis.math">FunctionProperty</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/UnitFormat.Style.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/measure/UnitFormat.Style.html" title="enum in org.apache.sis.measure">UnitFormat.Style</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#values()">values()</a></span> - Static method in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">Returns the values declared in this <code>Citations</code> class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/KeyNamePolicy.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/metadata/KeyNamePolicy.html" title="enum in org.apache.sis.metadata">KeyNamePolicy</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.State.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/metadata/ModifiableMetadata.State.html" title="enum in org.apache.sis.metadata">ModifiableMetadata.State</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/TypeValuePolicy.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/metadata/TypeValuePolicy.html" title="enum in org.apache.sis.metadata">TypeValuePolicy</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ValueExistencePolicy.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/metadata/ValueExistencePolicy.html" title="enum in org.apache.sis.metadata">ValueExistencePolicy</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/DefaultParameterValueGroup.html#values()">values()</a></span> - Method in class <a href="org/apache/sis/parameter/DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">DefaultParameterValueGroup</a></dt>
<dd>
<div class="block">Returns the values in this group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/parameter/ParameterFormat.ContentLevel.html" title="enum in org.apache.sis.parameter">ParameterFormat.ContentLevel</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Temporal.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.Temporal.html" title="enum in org.apache.sis.referencing">CommonCRS.Temporal</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.Vertical.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/CommonCRS.Vertical.html" title="enum in org.apache.sis.referencing">CommonCRS.Vertical</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/cs/AxesConvention.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/cs/AxesConvention.html" title="enum in org.apache.sis.referencing.cs">AxesConvention</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/factory/IdentifiedObjectFinder.Domain.html" title="enum in org.apache.sis.referencing.factory">IdentifiedObjectFinder.Domain</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Format.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.Format.html" title="enum in org.apache.sis.referencing.gazetteer">GeohashReferenceSystem.Format</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/projection/NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">NormalizedProjection.ParameterRole</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html#values()">values()</a></span> - Method in class <a href="org/apache/sis/referencing/operation/transform/ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></dt>
<dd>
<div class="block">Returns an unmodifiable list containing all parameters in this group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.TargetType.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.TargetType.html" title="enum in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform.TargetType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/referencing/operation/transform/IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">IterationStrategy</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/GeometryLibrary.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/setup/GeometryLibrary.html" title="enum in org.apache.sis.setup">GeometryLibrary</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/gps/Fix.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/storage/gps/Fix.html" title="enum in org.apache.sis.storage.gps">Fix</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/ComparisonMode.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#values()">values()</a></span> - Static method in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">Returns an array containing every instances of this type that have not yet been
 garbage collected.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Actuate.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/xml/XLink.Actuate.html" title="enum in org.apache.sis.xml">XLink.Actuate</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Show.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/xml/XLink.Show.html" title="enum in org.apache.sis.xml">XLink.Show</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.Type.html#values()">values()</a></span> - Static method in enum <a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml">XLink.Type</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math"><span class="typeNameLink">Vector</span></a> - Class in <a href="org/apache/sis/math/package-summary.html">org.apache.sis.math</a></dt>
<dd>
<div class="block">A vector of real numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Vector.html#%3Cinit%3E()">Vector()</a></span> - Constructor for class <a href="org/apache/sis/math/Vector.html" title="class in org.apache.sis.math">Vector</a></dt>
<dd>
<div class="block">For subclasses constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Workaround.html#version()">version()</a></span> - Method in annotation type <a href="org/apache/sis/util/Workaround.html" title="annotation in org.apache.sis.util">Workaround</a></dt>
<dd>
<div class="block">The last library version on which the bug has been verified.</div>
</dd>
<dt><a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util"><span class="typeNameLink">Version</span></a> - Class in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Holds a version number as a sequence of strings separated by either a dot or a dash.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Version.html#%3Cinit%3E(java.lang.String)">Version(String)</a></span> - Constructor for class <a href="org/apache/sis/util/Version.html" title="class in org.apache.sis.util">Version</a></dt>
<dd>
<div class="block">Creates a new version object from the supplied string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/setup/About.html#VERSIONS">VERSIONS</a></span> - <a href="org/apache/sis/setup/About.html" title="enum in org.apache.sis.setup">About</a></dt>
<dd>
<div class="block">Information about software version numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.html#VERTICAL">VERTICAL</a></span> - Static variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.html" title="class in org.apache.sis.storage.netcdf">AttributeNames</a></dt>
<dd>
<div class="block">The set of attribute names for the minimal and maximal elevations of the bounding box,
 resolution and units.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/netcdf/AttributeNames.Term.html#VOCABULARY">VOCABULARY</a></span> - Variable in class <a href="org/apache/sis/storage/netcdf/AttributeNames.Term.html" title="class in org.apache.sis.storage.netcdf">AttributeNames.Term</a></dt>
<dd>
<div class="block">The vocabulary or identifier namespace, or <code>null</code> if none.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#VOLT">VOLT</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for electric potential difference (V).</div>
</dd>
</dl>
<a id="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#warning(java.lang.Exception)">warning(Exception)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Reports a warning described by the given exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#warning(java.lang.String)">warning(String)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Reports a warning described by the given message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerAdapter.html#warning(java.lang.String)">warning(String)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerAdapter.html" title="class in org.apache.sis.util.logging">LoggerAdapter</a></dt>
<dd>
<div class="block">Logs a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Level.html?is-external=true#WARNING" title="class or interface in java.util.logging" class="externalLink"><code>WARNING</code></a> message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#warning(java.lang.String,java.lang.Exception)">warning(String, Exception)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Reports a warning described by the given message and exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#warning(java.lang.String,java.lang.Exception)">warning(String, Exception)</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Reports a warning represented by the given message and exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#warning(java.util.logging.Level,java.lang.String,java.lang.Exception)">warning(Level, String, Exception)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Reports a warning at the given level represented by the given message and exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#warning(java.util.logging.Level,java.lang.String,java.lang.Exception)">warning(Level, String, Exception)</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Reports a warning at the given level represented by the given message and exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/StoreListeners.html#warning(java.util.logging.LogRecord)">warning(LogRecord)</a></span> - Method in class <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event">StoreListeners</a></dt>
<dd>
<div class="block">Reports a warning described by the given log record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#warning(java.util.logging.LogRecord)">warning(LogRecord)</a></span> - Method in class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Reports a warning represented by the given log record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#WARNING_FILTER">WARNING_FILTER</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="block">Specifies a listener to be notified when a non-fatal error occurred during the (un)marshalling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XML.html#WARNING_LISTENER">WARNING_LISTENER</a></span> - Static variable in class <a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml">XML</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/xml/XML.html#WARNING_FILTER"><code>XML.WARNING_FILTER</code></a>.</div>
</div>
</dd>
<dt><a href="org/apache/sis/storage/event/WarningEvent.html" title="class in org.apache.sis.storage.event"><span class="typeNameLink">WarningEvent</span></a> - Class in <a href="org/apache/sis/storage/event/package-summary.html">org.apache.sis.storage.event</a></dt>
<dd>
<div class="block">Describes non-fatal errors that occurred in a resource or a data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/storage/event/WarningEvent.html#%3Cinit%3E(org.apache.sis.storage.Resource,java.util.logging.LogRecord)">WarningEvent(Resource, LogRecord)</a></span> - Constructor for class <a href="org/apache/sis/storage/event/WarningEvent.html" title="class in org.apache.sis.storage.event">WarningEvent</a></dt>
<dd>
<div class="block">Constructs an event for a warning that occurred in the given resource.</div>
</dd>
<dt><a href="org/apache/sis/util/logging/WarningListener.html" title="interface in org.apache.sis.util.logging"><span class="typeNameLink">WarningListener</span></a>&lt;<a href="org/apache/sis/util/logging/WarningListener.html" title="type parameter in WarningListener">S</a>&gt; - Interface in <a href="org/apache/sis/util/logging/package-summary.html">org.apache.sis.util.logging</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Filter.html?is-external=true" title="class or interface in java.util.logging" class="externalLink"><code>Filter</code></a>.</div>
</div>
</dd>
<dt><a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging"><span class="typeNameLink">WarningListeners</span></a>&lt;<a href="org/apache/sis/util/logging/WarningListeners.html" title="type parameter in WarningListeners">S</a>&gt; - Class in <a href="org/apache/sis/util/logging/package-summary.html">org.apache.sis.util.logging</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="org/apache/sis/storage/event/StoreListeners.html" title="class in org.apache.sis.storage.event"><code>StoreListeners</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#%3Cinit%3E(S)">WarningListeners(S)</a></span> - Constructor for class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new instance with initially no listener.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListeners.html#%3Cinit%3E(S,org.apache.sis.util.logging.WarningListeners)">WarningListeners(S, WarningListeners&lt;? super S&gt;)</a></span> - Constructor for class <a href="org/apache/sis/util/logging/WarningListeners.html" title="class in org.apache.sis.util.logging">WarningListeners</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new instance initialized with the same listeners than the given instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/WarningListener.html#warningOccured(S,java.util.logging.LogRecord)">warningOccured(S, LogRecord)</a></span> - Method in interface <a href="org/apache/sis/util/logging/WarningListener.html" title="interface in org.apache.sis.util.logging">WarningListener</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Reports the occurrence of a non-fatal error.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/Warnings.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">Warnings</span></a> - Class in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Warnings that occurred during a <cite>Well Known Text</cite> (WKT) parsing or formatting.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#WATT">WATT</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for power (W).</div>
</dd>
<dt><a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">WeakHashSet</span></a>&lt;<a href="org/apache/sis/util/collection/WeakHashSet.html" title="type parameter in WeakHashSet">E</a>&gt; - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A set of objects hold by weak references.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakHashSet.html#%3Cinit%3E(java.lang.Class)">WeakHashSet(Class&lt;E&gt;)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/WeakHashSet.html" title="class in org.apache.sis.util.collection">WeakHashSet</a></dt>
<dd>
<div class="block">Creates a <code>WeakHashSet</code> for elements of the specified type.</div>
</dd>
<dt><a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection"><span class="typeNameLink">WeakValueHashMap</span></a>&lt;<a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="type parameter in WeakValueHashMap">K</a>,&#8203;<a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="type parameter in WeakValueHashMap">V</a>&gt; - Class in <a href="org/apache/sis/util/collection/package-summary.html">org.apache.sis.util.collection</a></dt>
<dd>
<div class="block">A hashtable-based map implementation that uses <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ref/WeakReference.html?is-external=true" title="class or interface in java.lang.ref" class="externalLink">weak references</a>,
 leaving memory when an entry is not used anymore.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#%3Cinit%3E(java.lang.Class)">WeakValueHashMap(Class&lt;K&gt;)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Creates a new <code>WeakValueHashMap</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/WeakValueHashMap.html#%3Cinit%3E(java.lang.Class,boolean)">WeakValueHashMap(Class&lt;K&gt;, boolean)</a></span> - Constructor for class <a href="org/apache/sis/util/collection/WeakValueHashMap.html" title="class in org.apache.sis.util.collection">WeakValueHashMap</a></dt>
<dd>
<div class="block">Creates a new <code>WeakValueHashMap</code>, optionally using reference-equality in place of object-equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#WEBER">WEBER</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">The SI derived unit for magnetic flux (Wb).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/Units.html#WEEK">WEEK</a></span> - Static variable in class <a href="org/apache/sis/measure/Units.html" title="class in org.apache.sis.measure">Units</a></dt>
<dd>
<div class="block">Unit of measurement defined as 7 days (1 wk).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#WGS72">WGS72</a></span> - <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">World Geodetic System 1972.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/CommonCRS.html#WGS84">WGS84</a></span> - <a href="org/apache/sis/referencing/CommonCRS.html" title="enum in org.apache.sis.referencing">CommonCRS</a></dt>
<dd>
<div class="block">World Geodetic System 1984.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/NodeType.html#WHITE">WHITE</a></span> - <a href="org/apache/sis/index/tree/NodeType.html" title="enum in org.apache.sis.index.tree">NodeType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#widestClass(java.lang.Class,java.lang.Class)">widestClass(Class&lt;? extends Number&gt;, Class&lt;? extends Number&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns the widest of the given types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#widestClass(java.lang.Number,java.lang.Number)">widestClass(Number, Number)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Returns the widest type of two numbers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/NilReason.html#WITHHELD">WITHHELD</a></span> - Static variable in class <a href="org/apache/sis/xml/NilReason.html" title="class in org.apache.sis.xml">NilReason</a></dt>
<dd>
<div class="block">The value is not divulged.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#WKT1">WKT1</a></span> - <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">The OGC 01-009 format, also known as “WKT 1”.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/parameter/TensorParameters.html#WKT1">WKT1</a></span> - Static variable in class <a href="org/apache/sis/parameter/TensorParameters.html" title="class in org.apache.sis.parameter">TensorParameters</a></dt>
<dd>
<div class="block">Parses and creates matrix parameters with names matching the
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html">Well Known Text</a>
 version 1 (WKT 1) convention.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#WKT1_COMMON_UNITS">WKT1_COMMON_UNITS</a></span> - <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">The <cite>Simple Feature</cite> format, also known as “WKT 1”.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#WKT1_IGNORE_AXES">WKT1_IGNORE_AXES</a></span> - <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">The <cite>Simple Feature</cite> format without parsing of axis elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#WKT2">WKT2</a></span> - <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">The ISO 19162 format, also known as “WKT 2”.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/Convention.html#WKT2_SIMPLIFIED">WKT2_SIMPLIFIED</a></span> - <a href="org/apache/sis/io/wkt/Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></dt>
<dd>
<div class="block">The ISO 19162 format with omission of some optional elements.</div>
</dd>
<dt><a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt"><span class="typeNameLink">WKTFormat</span></a> - Class in <a href="org/apache/sis/io/wkt/package-summary.html">org.apache.sis.io.wkt</a></dt>
<dd>
<div class="block">Parser and formatter for <cite>Well Known Text</cite> (WKT) strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/io/wkt/WKTFormat.html#%3Cinit%3E(java.util.Locale,java.util.TimeZone)">WKTFormat(Locale, TimeZone)</a></span> - Constructor for class <a href="org/apache/sis/io/wkt/WKTFormat.html" title="class in org.apache.sis.io.wkt">WKTFormat</a></dt>
<dd>
<div class="block">Creates a format for the given locale and timezone.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/citation/Citations.html#WMS">WMS</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/citation/Citations.html" title="class in org.apache.sis.metadata.iso.citation">Citations</a></dt>
<dd>
<div class="block">The authority for identifiers of objects defined by the
 <a href="http://www.opengeospatial.org/standards/wms">Web Map Service</a> (WMS) specification.</div>
</dd>
<dt><a href="org/apache/sis/util/Workaround.html" title="annotation in org.apache.sis.util"><span class="typeNameLink">Workaround</span></a> - Annotation Type in <a href="org/apache/sis/util/package-summary.html">org.apache.sis.util</a></dt>
<dd>
<div class="block">Annotates code containing workarounds for bugs or limitations in an external library.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/iso/extent/Extents.html#WORLD">WORLD</a></span> - Static variable in class <a href="org/apache/sis/metadata/iso/extent/Extents.html" title="class in org.apache.sis.metadata.iso.extent">Extents</a></dt>
<dd>
<div class="block">A geographic extent ranging from 180°W to 180°E and 90°S to 90°N.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#wrap(double,java.lang.Class)">wrap(double, Class&lt;N&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Wraps the given floating-point value in a <code>Number</code> of the specified class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#wrap(long,java.lang.Class)">wrap(long, Class&lt;N&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Wraps the given integer value in a <code>Number</code> of the specified class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/logging/LoggerFactory.html#wrap(java.lang.String,L)">wrap(String, L)</a></span> - Method in class <a href="org/apache/sis/util/logging/LoggerFactory.html" title="class in org.apache.sis.util.logging">LoggerFactory</a></dt>
<dd>
<div class="block">Wraps the specified <a href="org/apache/sis/util/logging/LoggerFactory.html#getImplementation(java.lang.String)">implementation</a> in a JDK logger.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/Numbers.html#wrapperToPrimitive(java.lang.Class)">wrapperToPrimitive(Class&lt;?&gt;)</a></span> - Static method in class <a href="org/apache/sis/util/Numbers.html" title="class in org.apache.sis.util">Numbers</a></dt>
<dd>
<div class="block">Changes a wrapper class to its primitive (for example <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Integer</code></a> to <code>int</code>).</div>
</dd>
<dt><a href="org/apache/sis/storage/WritableAggregate.html" title="interface in org.apache.sis.storage"><span class="typeNameLink">WritableAggregate</span></a> - Interface in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">An <a href="org/apache/sis/storage/Aggregate.html" title="interface in org.apache.sis.storage"><code>Aggregate</code></a> with writing capabilities.</div>
</dd>
<dt><a href="org/apache/sis/storage/WritableFeatureSet.html" title="interface in org.apache.sis.storage"><span class="typeNameLink">WritableFeatureSet</span></a> - Interface in <a href="org/apache/sis/storage/package-summary.html">org.apache.sis.storage</a></dt>
<dd>
<div class="block">A <a href="org/apache/sis/storage/FeatureSet.html" title="interface in org.apache.sis.storage"><code>FeatureSet</code></a> with writing capabilities.</div>
</dd>
<dt><a href="org/apache/sis/image/WritablePixelIterator.html" title="class in org.apache.sis.image"><span class="typeNameLink">WritablePixelIterator</span></a> - Class in <a href="org/apache/sis/image/package-summary.html">org.apache.sis.image</a></dt>
<dd>
<div class="block">A pixel iterator capable to write sample values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#writeCollection(java.util.Collection,java.util.Collection,java.lang.Class)">writeCollection(Collection&lt;? extends E&gt;, Collection&lt;E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Writes the content of the <code>source</code> collection into the <code>target</code> list or set,
 creating it if needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/util/collection/TreeTableFormat.html#writeColumnSeparator(int,org.apache.sis.io.TableAppender)">writeColumnSeparator(int, TableAppender)</a></span> - Method in class <a href="org/apache/sis/util/collection/TreeTableFormat.html" title="class in org.apache.sis.util.collection">TreeTableFormat</a></dt>
<dd>
<div class="block">Writes characters between columns.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#writeList(java.util.Collection,java.util.List,java.lang.Class)">writeList(Collection&lt;? extends E&gt;, List&lt;E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Writes the content of the <code>source</code> collection into the <code>target</code> list,
 creating it if needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#writeMap(java.util.Map,java.util.Map,java.lang.Class)">writeMap(Map&lt;? extends K, ? extends V&gt;, Map&lt;K, V&gt;, Class&lt;K&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Writes the content of the <code>source</code> map into the <code>target</code> map,
 creating it if needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/metadata/ModifiableMetadata.html#writeSet(java.util.Collection,java.util.Set,java.lang.Class)">writeSet(Collection&lt;? extends E&gt;, Set&lt;E&gt;, Class&lt;E&gt;)</a></span> - Method in class <a href="org/apache/sis/metadata/ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></dt>
<dd>
<div class="block">Writes the content of the <code>source</code> collection into the <code>target</code> set,
 creating it if needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/index/tree/QuadTreeWriter.html#writeTreeToFile(org.apache.sis.index.tree.QuadTree,java.lang.String)">writeTreeToFile(QuadTree, String)</a></span> - Static method in class <a href="org/apache/sis/index/tree/QuadTreeWriter.html" title="class in org.apache.sis.index.tree">QuadTreeWriter</a></dt>
<dd>
<div class="block">Writes the entire quad tree index to file with each node in saved in a
 separate file.</div>
</dd>
</dl>
<a id="I:X">
<!--   -->
</a>
<h2 class="title">X</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#x(double)">x(double)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Computes <var>x</var> = <var>f</var>⁻¹(<var>y</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#x(double,double)">x(double, double)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Computes the <var>x</var> value for the specified (<var>y</var>,<var>z</var>) point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#x0()">x0()</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Returns the <var>x</var> value for <var>y</var> = 0.</div>
</dd>
<dt><a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml"><span class="typeNameLink">XLink</span></a> - Class in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">The XML attributes defined by OGC in the
 <a href="http://schemas.opengis.net/xlink/1.0.0/xlinks.xsd">xlink</a> schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#%3Cinit%3E()">XLink()</a></span> - Constructor for class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Creates a new link.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/XLink.html#%3Cinit%3E(org.apache.sis.xml.XLink)">XLink(XLink)</a></span> - Constructor for class <a href="org/apache/sis/xml/XLink.html" title="class in org.apache.sis.xml">XLink</a></dt>
<dd>
<div class="block">Creates a new link as a copy of the given link.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/IdentifierSpace.html#XLINK">XLINK</a></span> - Static variable in interface <a href="org/apache/sis/xml/IdentifierSpace.html" title="interface in org.apache.sis.xml">IdentifierSpace</a></dt>
<dd>
<div class="block">Any XML attributes defined by OGC in the
 <a href="http://schemas.opengis.net/xlink/1.0.0/xlinks.xsd">xlink</a> schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#XLINK">XLINK</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://www.w3.org/1999/xlink"</code> URL.</div>
</dd>
<dt><a href="org/apache/sis/xml/XLink.Actuate.html" title="enum in org.apache.sis.xml"><span class="typeNameLink">XLink.Actuate</span></a> - Enum in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Communicates the desired timing of traversal from the starting resource to the ending
 resource.</div>
</dd>
<dt><a href="org/apache/sis/xml/XLink.Show.html" title="enum in org.apache.sis.xml"><span class="typeNameLink">XLink.Show</span></a> - Enum in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Communicates the desired presentation of the ending resource on traversal
 from the starting resource.</div>
</dd>
<dt><a href="org/apache/sis/xml/XLink.Type.html" title="enum in org.apache.sis.xml"><span class="typeNameLink">XLink.Type</span></a> - Enum in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">The type of a <code>xlink</code>.</div>
</dd>
<dt><a href="org/apache/sis/xml/XML.html" title="class in org.apache.sis.xml"><span class="typeNameLink">XML</span></a> - Class in <a href="org/apache/sis/xml/package-summary.html">org.apache.sis.xml</a></dt>
<dd>
<div class="block">Provides convenience methods for marshalling and unmarshalling SIS objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/MathFunctions.html#xorSign(double,double)">xorSign(double, double)</a></span> - Static method in class <a href="org/apache/sis/math/MathFunctions.html" title="class in org.apache.sis.math">MathFunctions</a></dt>
<dd>
<div class="block">Returns the first floating-point argument with the sign reversed if the second floating-point
 argument is negative.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/xml/Namespaces.html#XSI">XSI</a></span> - Static variable in class <a href="org/apache/sis/xml/Namespaces.html" title="class in org.apache.sis.xml">Namespaces</a></dt>
<dd>
<div class="block">The <code>"http://www.w3.org/2001/XMLSchema-instance"</code> URL.</div>
</dd>
</dl>
<a id="I:Y">
<!--   -->
</a>
<h2 class="title">Y</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#y(double)">y(double)</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Computes <var>y</var> = <var>f</var>(<var>x</var>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#y(double,double)">y(double, double)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Computes the <var>y</var> value for the specified (<var>x</var>,<var>z</var>) point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Line.html#y0()">y0()</a></span> - Method in class <a href="org/apache/sis/math/Line.html" title="class in org.apache.sis.math">Line</a></dt>
<dd>
<div class="block">Returns the <var>y</var> value for <var>x</var> = 0.</div>
</dd>
</dl>
<a id="I:Z">
<!--   -->
</a>
<h2 class="title">Z</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#z(double,double)">z(double, double)</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Computes the <var>z</var> value for the specified (<var>x</var>,<var>y</var>) point.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/math/Plane.html#z0()">z0()</a></span> - Method in class <a href="org/apache/sis/math/Plane.html" title="class in org.apache.sis.math">Plane</a></dt>
<dd>
<div class="block">Returns the <var>z</var> value at (<var>x</var>,<var>y</var>) = (0,0).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/measure/ElevationAngle.html#ZENITH">ZENITH</a></span> - Static variable in class <a href="org/apache/sis/measure/ElevationAngle.html" title="class in org.apache.sis.measure">ElevationAngle</a></dt>
<dd>
<div class="block">An elevation angle of 90° for an imaginary point directly above a location.</div>
</dd>
<dt><a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html" title="class in org.apache.sis.referencing.operation.projection"><span class="typeNameLink">ZonedGridSystem</span></a> - Class in <a href="org/apache/sis/referencing/operation/projection/package-summary.html">org.apache.sis.referencing.operation.projection</a></dt>
<dd>
<div class="block"><cite>Transverse Mercator Zoned Grid System</cite> projection (EPSG codes 9824).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters,org.opengis.referencing.operation.MathTransformFactory)">ZonedGridSystem(OperationMethod, Parameters, MathTransformFactory)</a></span> - Constructor for class <a href="org/apache/sis/referencing/operation/projection/ZonedGridSystem.html" title="class in org.apache.sis.referencing.operation.projection">ZonedGridSystem</a></dt>
<dd>
<div class="block">Creates a Zoned Grid System from the given parameters.</div>
</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<a href="#I:Z">Z</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></div>
</main>
<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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</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>
<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>
