<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>DefaultEllipsoid (Apache SIS 1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2019-09-20">
<meta name="keywords" content="org.apache.sis.referencing.datum.DefaultEllipsoid class">
<meta name="keywords" content="createEllipsoid()">
<meta name="keywords" content="createFlattenedSphere()">
<meta name="keywords" content="castOrCopy()">
<meta name="keywords" content="getInterface()">
<meta name="keywords" content="getAxisUnit()">
<meta name="keywords" content="getSemiMajorAxis()">
<meta name="keywords" content="getSemiMinorAxis()">
<meta name="keywords" content="getAuthalicRadius()">
<meta name="keywords" content="getEccentricity()">
<meta name="keywords" content="getEccentricitySquared()">
<meta name="keywords" content="getInverseFlattening()">
<meta name="keywords" content="isIvfDefinitive()">
<meta name="keywords" content="isSphere()">
<meta name="keywords" content="orthodromicDistance()">
<meta name="keywords" content="semiMajorAxisDifference()">
<meta name="keywords" content="flatteningDifference()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="computeHashCode()">
<meta name="keywords" content="formatTo()">
<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="DefaultEllipsoid (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":9,"i1":10,"i2":9,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":42,"i18":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DefaultEllipsoid.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.referencing.datum</a></div>
<h2 title="Class DefaultEllipsoid" class="title">Class DefaultEllipsoid</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></li>
<li>
<ul class="inheritance">
<li><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></li>
<li>
<ul class="inheritance">
<li>DefaultEllipsoid</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="../../util/Deprecable.html" title="interface in org.apache.sis.util">Deprecable</a></code>, <code><a href="../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a></code>, <code><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">Identified­Object</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">DefaultEllipsoid</span>
extends <a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a>
implements <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a></pre>
<div class="block">Geometric figure that can be used to describe the approximate shape of the earth.
 In mathematical terms, it is a surface formed by the rotation of an ellipse about
 its minor axis. An ellipsoid requires two defining parameters:

 <ul>
   <li><a href="#getSemiMajorAxis()">semi-major axis</a> and
       <a href="#getInverseFlattening()">inverse flattening</a>, or</li>
   <li><a href="#getSemiMajorAxis()">semi-major axis</a> and
       <a href="#getSemiMinorAxis()">semi-minor axis</a>.</li>
 </ul>

 Some numerical values derived from the above properties are:

 <ul>
   <li><a href="#getAuthalicRadius()">authalic radius</a></li>
   <li><a href="#getEccentricity()">eccentricity</a></li>
 </ul>

 <div class="section">Creating new ellipsoid instances</div>
 New instances can be created either directly by specifying all information to a factory method (choices 3
 and 4 below), or indirectly by specifying the identifier of an entry in a database (choices 1 and 2 below).
 In particular, the <a href="http://www.epsg.org">EPSG</a> database provides definitions for many ellipsoids,
 and Apache SIS provides convenience shortcuts for some of them.

 <p>Choice 1 in the following list is the easiest but most restrictive way to get an ellipsoid.
 The other choices provide more freedom. Each choice delegates its work to the subsequent items
 (in the default configuration), so this list can been seen as <cite>top to bottom</cite> API.</p>

 <ol>
   <li>Create an <code>Ellipsoid</code> from one of the static convenience shortcuts listed in
       <a href="../CommonCRS.html#ellipsoid()"><code>Common­CRS​.ellipsoid()</code></a>.</li>
   <li>Create an <code>Ellipsoid</code> from an identifier in a database by invoking
       <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/DatumAuthorityFactory.html?is-external=true#createEllipsoid(java.lang.String)" title="class or interface in org.opengis.referencing.datum" class="externalLink"><code>Datum­Authority­Factory​.create­Ellipsoid(String)</code></a>.</li>
   <li>Create an <code>Ellipsoid</code> by invoking the <code>Datum­Factory​.create­Ellipsoid(…)</code> or <code>create­Flattened­Sphere(…)</code>
       method (implemented for example by <a href="../factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory"><code>Geodetic­Object­Factory</code></a>).</li>
   <li>Create a <code>Default­Ellipsoid</code> by invoking the
       <a href="#createEllipsoid(java.util.Map,double,double,javax.measure.Unit)"><code>create­Ellipsoid(…)</code></a> or
       <a href="#createFlattenedSphere(java.util.Map,double,double,javax.measure.Unit)"><code>create­Flattened­Sphere(…)</code></a>
       static methods defined in this class.</li>
 </ol>

 <b>Example:</b> the following code gets the WGS84 ellipsoid:

 <blockquote><pre>Ellipsoid e = CommonCRS.WGS84.<b>ellipsoid</b>();</pre></blockquote>

 <div class="section">Immutability and thread safety</div>
 This class is immutable and thus thread-safe if the property <em>values</em> (not necessarily the map itself)
 given to the constructors are also immutable. Unless otherwise noted in the javadoc, this condition holds if all
 components were created using only SIS factories and static constants.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.4</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../CommonCRS.html#ellipsoid()"><code>Common­CRS​.ellipsoid()</code></a>, 
<a href="../factory/GeodeticAuthorityFactory.html#createEllipsoid(java.lang.String)"><code>Geodetic­Authority­Factory​.create­Ellipsoid(String)</code></a>, 
<a href="../../../../../serialized-form.html#org.apache.sis.referencing.datum.DefaultEllipsoid">Serialized Form</a></dd>

<p><font size="-1">Defined in the <code>sis-referencing</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.AbstractIdentifiedObject">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;<a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></h3>
<code><a href="../AbstractIdentifiedObject.html#DEPRECATED_KEY">DEPRECATED_KEY</a>, <a href="../AbstractIdentifiedObject.html#LOCALE_KEY">LOCALE_KEY</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.IdentifiedObject">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;<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></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#ALIAS_KEY" title="class or interface in org.opengis.referencing" class="externalLink">ALIAS_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#IDENTIFIERS_KEY" title="class or interface in org.opengis.referencing" class="externalLink">IDENTIFIERS_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#NAME_KEY" title="class or interface in org.opengis.referencing" class="externalLink">NAME_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#REMARKS_KEY" title="class or interface in org.opengis.referencing" class="externalLink">REMARKS_KEY</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.util.Map,double,double,double,boolean,javax.measure.Unit)">DefaultEllipsoid</a></span>&#8203;(<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">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;?&gt;&nbsp;properties,
                double&nbsp;semiMajorAxis,
                double&nbsp;semiMinorAxis,
                double&nbsp;inverseFlattening,
                boolean&nbsp;ivfDefinitive,
                <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Length.html?is-external=true" title="class or interface in javax.measure.quantity" class="externalLink">Length</a>&gt;&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Creates a new ellipsoid using the specified axis length.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.opengis.referencing.datum.Ellipsoid)">DefaultEllipsoid</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&nbsp;ellipsoid)</code></th>
<td class="colLast">
<div class="block">Creates a new ellipsoid with the same values than the specified one.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#castOrCopy(org.opengis.referencing.datum.Ellipsoid)">castOrCopy</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Returns a SIS ellipsoid implementation with the same values than the given arbitrary implementation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#computeHashCode()">computeHashCode</a></span>()</code></th>
<td class="colLast">
<div class="block">Invoked by <code>hash­Code()</code> for computing the hash code when first needed.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createEllipsoid(java.util.Map,double,double,javax.measure.Unit)">createEllipsoid</a></span>&#8203;(<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">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;?&gt;&nbsp;properties,
               double&nbsp;semiMajorAxis,
               double&nbsp;semiMinorAxis,
               <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Length.html?is-external=true" title="class or interface in javax.measure.quantity" class="externalLink">Length</a>&gt;&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Creates a new ellipsoid using the specified properties and axis length.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createFlattenedSphere(java.util.Map,double,double,javax.measure.Unit)">createFlattenedSphere</a></span>&#8203;(<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">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;?&gt;&nbsp;properties,
                     double&nbsp;semiMajorAxis,
                     double&nbsp;inverseFlattening,
                     <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Length.html?is-external=true" title="class or interface in javax.measure.quantity" class="externalLink">Length</a>&gt;&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Creates a new ellipsoid using the specified properties, axis length and inverse flattening value.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object,
      <a href="../../util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</code></th>
<td class="colLast">
<div class="block">Compares this ellipsoid with the specified object for equality.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatteningDifference(org.opengis.referencing.datum.Ellipsoid)">flatteningDifference</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&nbsp;other)</code></th>
<td class="colLast">
<div class="block">Returns the difference between the flattening factor of two ellipsoids.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo</a></span>&#8203;(<a href="../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a>&nbsp;formatter)</code></th>
<td class="colLast">
<div class="block">Formats this ellipsoid as a <cite>Well Known Text</cite> <code>Ellipsoid[…]</code> element.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAuthalicRadius()">getAuthalicRadius</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the radius of a hypothetical sphere having the same surface than this ellipsoid.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Length.html?is-external=true" title="class or interface in javax.measure.quantity" class="externalLink">Length</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAxisUnit()">getAxisUnit</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the linear unit of the <a href="#getSemiMajorAxis()">semi-major</a>
 and <a href="#getSemiMinorAxis()">semi-minor</a> axis values.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEccentricity()">getEccentricity</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEccentricitySquared()">getEccentricitySquared</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the square of the <a href="#getEccentricity()"><code>eccentricity</code></a> value.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><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">Class</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInterface()">getInterface</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInverseFlattening()">getInverseFlattening</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the value of the inverse of the flattening constant.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSemiMajorAxis()">getSemiMajorAxis</a></span>()</code></th>
<td class="colLast">
<div class="block">Length of the semi-major axis of the ellipsoid.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSemiMinorAxis()">getSemiMinorAxis</a></span>()</code></th>
<td class="colLast">
<div class="block">Length of the semi-minor axis of the ellipsoid.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isIvfDefinitive()">isIvfDefinitive</a></span>()</code></th>
<td class="colLast">
<div class="block">Indicates if the <a href="#getInverseFlattening()">inverse flattening</a> is definitive for
 this ellipsoid.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSphere()">isSphere</a></span>()</code></th>
<td class="colLast">
<div class="block"><code>true</code> if the ellipsoid is degenerate and is actually a sphere.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#orthodromicDistance(double,double,double,double)">orthodromicDistance</a></span>&#8203;(double&nbsp;λ1,
                   double&nbsp;φ1,
                   double&nbsp;λ2,
                   double&nbsp;φ2)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="../GeodeticCalculator.html" title="class in org.apache.sis.referencing"><code>Geodetic­Calculator</code></a>.</div>
</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#semiMajorAxisDifference(org.opengis.referencing.datum.Ellipsoid)">semiMajorAxisDifference</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&nbsp;other)</code></th>
<td class="colLast">
<div class="block">Returns the difference between the semi-major axis length of two ellipsoids.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.AbstractIdentifiedObject">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></h3>
<code><a href="../AbstractIdentifiedObject.html#castOrCopy(org.opengis.referencing.IdentifiedObject)">cast­Or­Copy</a>, <a href="../AbstractIdentifiedObject.html#equals(java.lang.Object)">equals</a>, <a href="../AbstractIdentifiedObject.html#getAlias()">get­Alias</a>, <a href="../AbstractIdentifiedObject.html#getDescription()">get­Description</a>, <a href="../AbstractIdentifiedObject.html#getIdentifiers()">get­Identifiers</a>, <a href="../AbstractIdentifiedObject.html#getName()">get­Name</a>, <a href="../AbstractIdentifiedObject.html#getRemarks()">get­Remarks</a>, <a href="../AbstractIdentifiedObject.html#hashCode()">hash­Code</a>, <a href="../AbstractIdentifiedObject.html#isDeprecated()">is­Deprecated</a>, <a href="../AbstractIdentifiedObject.html#isHeuristicMatchForName(java.lang.String)">is­Heuristic­Match­For­Name</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.FormattableObject">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></h3>
<code><a href="../../io/wkt/FormattableObject.html#print()">print</a>, <a href="../../io/wkt/FormattableObject.html#toString()">to­String</a>, <a href="../../io/wkt/FormattableObject.html#toString(org.apache.sis.io.wkt.Convention)">to­String</a>, <a href="../../io/wkt/FormattableObject.html#toWKT()">to­WKT</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">get­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notify­All</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.IdentifiedObject">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;<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></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#getAlias()" title="class or interface in org.opengis.referencing" class="externalLink">get­Alias</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#getIdentifiers()" title="class or interface in org.opengis.referencing" class="externalLink">get­Identifiers</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#getName()" title="class or interface in org.opengis.referencing" class="externalLink">get­Name</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#getRemarks()" title="class or interface in org.opengis.referencing" class="externalLink">get­Remarks</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#toWKT()" title="class or interface in org.opengis.referencing" class="externalLink">to­WKT</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.util.Map,double,double,double,boolean,javax.measure.Unit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DefaultEllipsoid</h4>
<pre>protected&nbsp;DefaultEllipsoid&#8203;(<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">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;?&gt;&nbsp;properties,
                           double&nbsp;semiMajorAxis,
                           double&nbsp;semiMinorAxis,
                           double&nbsp;inverseFlattening,
                           boolean&nbsp;ivfDefinitive,
                           <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Length.html?is-external=true" title="class or interface in javax.measure.quantity" class="externalLink">Length</a>&gt;&nbsp;unit)</pre>
<div class="block">Creates a new ellipsoid using the specified axis length.
 The properties map is given unchanged to the
 <a href="../AbstractIdentifiedObject.html#%3Cinit%3E(java.util.Map)">super-class constructor</a>.
 The following table is a reminder of main (not all) properties:

 <table class="sis">
   <caption>Recognized properties (non exhaustive list)</caption>
   <tr>
     <th>Property name</th>
     <th>Value type</th>
     <th>Returned by</th>
   </tr>
   <tr>
     <td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#NAME_KEY" title="class or interface in org.opengis.referencing" class="externalLink">"name"</a></td>
     <td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/ReferenceIdentifier.html?is-external=true" title="class or interface in org.opengis.referencing" class="externalLink"><code>ReferenceIdentifier</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></td>
     <td><a href="../AbstractIdentifiedObject.html#getName()"><code>AbstractIdentifiedObject.getName()</code></a></td>
   </tr>
   <tr>
     <td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#ALIAS_KEY" title="class or interface in org.opengis.referencing" class="externalLink">"alias"</a></td>
     <td><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> or <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>Char­Sequence</code></a> (optionally as array)</td>
     <td><a href="../AbstractIdentifiedObject.html#getAlias()"><code>AbstractIdentifiedObject.getAlias()</code></a></td>
   </tr>
   <tr>
     <td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#IDENTIFIERS_KEY" title="class or interface in org.opengis.referencing" class="externalLink">"identifiers"</a></td>
     <td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/ReferenceIdentifier.html?is-external=true" title="class or interface in org.opengis.referencing" class="externalLink"><code>ReferenceIdentifier</code></a> (optionally as array)</td>
     <td><a href="../AbstractIdentifiedObject.html#getIdentifiers()"><code>AbstractIdentifiedObject.getIdentifiers()</code></a></td>
   </tr>
   <tr>
     <td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/IdentifiedObject.html?is-external=true#REMARKS_KEY" title="class or interface in org.opengis.referencing" class="externalLink">"remarks"</a></td>
     <td><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> 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></td>
     <td><a href="../AbstractIdentifiedObject.html#getRemarks()"><code>AbstractIdentifiedObject.getRemarks()</code></a></td>
   </tr>
 </table></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - the properties to be given to the identified object.</dd>
<dd><code>semi­Major­Axis</code> - the equatorial radius.</dd>
<dd><code>semi­Minor­Axis</code> - the polar radius.</dd>
<dd><code>inverse­Flattening</code> - the inverse of the flattening value.</dd>
<dd><code>ivf­Definitive</code> - <code>true</code> if the inverse flattening is definitive.</dd>
<dd><code>unit</code> - the units of the semi-major and semi-minor axis values.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#createEllipsoid(java.util.Map,double,double,javax.measure.Unit)"><code>create­Ellipsoid(Map, double, double, Unit)</code></a>, 
<a href="#createFlattenedSphere(java.util.Map,double,double,javax.measure.Unit)"><code>create­Flattened­Sphere(Map, double, double, Unit)</code></a></dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.opengis.referencing.datum.Ellipsoid)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DefaultEllipsoid</h4>
<pre>protected&nbsp;DefaultEllipsoid&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&nbsp;ellipsoid)</pre>
<div class="block">Creates a new ellipsoid with the same values than the specified one.
 This copy constructor provides a way to convert an arbitrary implementation into a SIS one
 or a user-defined one (as a subclass), usually in order to leverage some implementation-specific API.

 <p>This constructor performs a shallow copy, i.e. the properties are not cloned.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ellipsoid</code> - the ellipsoid to copy.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#castOrCopy(org.opengis.referencing.datum.Ellipsoid)"><code>cast­Or­Copy(Ellipsoid)</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="createEllipsoid(java.util.Map,double,double,javax.measure.Unit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEllipsoid</h4>
<pre class="methodSignature">public static&nbsp;<a href="DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a>&nbsp;createEllipsoid&#8203;(<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">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;?&gt;&nbsp;properties,
                                               double&nbsp;semiMajorAxis,
                                               double&nbsp;semiMinorAxis,
                                               <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Length.html?is-external=true" title="class or interface in javax.measure.quantity" class="externalLink">Length</a>&gt;&nbsp;unit)</pre>
<div class="block">Creates a new ellipsoid using the specified properties and axis length.
 The properties map is given unchanged to the
 <a href="../AbstractIdentifiedObject.html#%3Cinit%3E(java.util.Map)">super-class constructor</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - the properties to be given to the identified object.</dd>
<dd><code>semi­Major­Axis</code> - the equatorial radius in the given unit.</dd>
<dd><code>semi­Minor­Axis</code> - the polar radius in the given unit.</dd>
<dd><code>unit</code> - the units of the semi-major and semi-minor axis values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an ellipsoid with the given axis length.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../factory/GeodeticObjectFactory.html#createEllipsoid(java.util.Map,double,double,javax.measure.Unit)"><code>Geodetic­Object­Factory​.create­Ellipsoid(Map, double, double, Unit)</code></a></dd>
</dl>
</li>
</ul>
<a id="createFlattenedSphere(java.util.Map,double,double,javax.measure.Unit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createFlattenedSphere</h4>
<pre class="methodSignature">public static&nbsp;<a href="DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a>&nbsp;createFlattenedSphere&#8203;(<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">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;?&gt;&nbsp;properties,
                                                     double&nbsp;semiMajorAxis,
                                                     double&nbsp;inverseFlattening,
                                                     <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Length.html?is-external=true" title="class or interface in javax.measure.quantity" class="externalLink">Length</a>&gt;&nbsp;unit)</pre>
<div class="block">Creates a new ellipsoid using the specified properties, axis length and inverse flattening value.
 The properties map is given unchanged to the
 <a href="../AbstractIdentifiedObject.html#%3Cinit%3E(java.util.Map)">super-class constructor</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - the properties to be given to the identified object.</dd>
<dd><code>semi­Major­Axis</code> - the equatorial radius in the given unit.</dd>
<dd><code>inverse­Flattening</code> - the inverse flattening value.</dd>
<dd><code>unit</code> - the units of the semi-major and semi-minor axis values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an ellipsoid with the given axis length.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../factory/GeodeticObjectFactory.html#createFlattenedSphere(java.util.Map,double,double,javax.measure.Unit)"><code>Geodetic­Object­Factory​.create­Flattened­Sphere(Map, double, double, Unit)</code></a></dd>
</dl>
</li>
</ul>
<a id="castOrCopy(org.opengis.referencing.datum.Ellipsoid)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>castOrCopy</h4>
<pre class="methodSignature">public static&nbsp;<a href="DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">DefaultEllipsoid</a>&nbsp;castOrCopy&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&nbsp;object)</pre>
<div class="block">Returns a SIS ellipsoid implementation with the same values than the given arbitrary implementation.
 If the given object is <code>null</code>, then this method returns <code>null</code>.
 Otherwise if the given object is already a SIS implementation, then the given object is returned unchanged.
 Otherwise a new SIS implementation is created and initialized to the attribute values of the given object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to get as a SIS implementation, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a SIS implementation containing the values of the given object (may be the
         given object itself), or <code>null</code> if the argument was null.</dd>
</dl>
</li>
</ul>
<a id="getInterface()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInterface</h4>
<pre class="methodSignature">public&nbsp;<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">Class</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&gt;&nbsp;getInterface()</pre>
<div class="block">Returns the GeoAPI interface implemented by this class.
 The SIS implementation returns <code>Ellipsoid​.class</code>.

 <div class="note"><b>Note for implementers:</b>
 Subclasses usually do not need to override this method since GeoAPI does not define <code>Ellipsoid</code>
 sub-interface. Overriding possibility is left mostly for implementers who wish to extend GeoAPI with
 their own set of interfaces.</div></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractIdentifiedObject.html#getInterface()">get­Interface</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">Abstract­Identified­Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Ellipsoid​.class</code> or a user-defined sub-interface.</dd>
</dl>
</li>
</ul>
<a id="getAxisUnit()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAxisUnit</h4>
<pre class="methodSignature">public&nbsp;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Length.html?is-external=true" title="class or interface in javax.measure.quantity" class="externalLink">Length</a>&gt;&nbsp;getAxisUnit()</pre>
<div class="block">Returns the linear unit of the <a href="#getSemiMajorAxis()">semi-major</a>
 and <a href="#getSemiMinorAxis()">semi-minor</a> axis values.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true#getAxisUnit()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Axis­Unit</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the axis linear unit.</dd>
</dl>
</li>
</ul>
<a id="getSemiMajorAxis()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSemiMajorAxis</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getSemiMajorAxis()</pre>
<div class="block">Length of the semi-major axis of the ellipsoid.
 This is the equatorial radius in <a href="#getAxisUnit()">axis linear unit</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true#getSemiMajorAxis()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Semi­Major­Axis</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>length of semi-major axis.</dd>
</dl>
</li>
</ul>
<a id="getSemiMinorAxis()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSemiMinorAxis</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getSemiMinorAxis()</pre>
<div class="block">Length of the semi-minor axis of the ellipsoid. This is the
 polar radius in <a href="#getAxisUnit()">axis linear unit</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true#getSemiMinorAxis()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Semi­Minor­Axis</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>length of semi-minor axis.</dd>
</dl>
</li>
</ul>
<a id="getAuthalicRadius()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAuthalicRadius</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getAuthalicRadius()</pre>
<div class="block">Returns the radius of a hypothetical sphere having the same surface than this ellipsoid.
 The radius is expressed in <a href="#getAxisUnit()">axis linear unit</a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the radius of a sphere having the same surface than this ellipsoid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../CommonCRS.html#SPHERE"><code>Common­CRS​.SPHERE</code></a></dd>
</dl>
</li>
</ul>
<a id="getEccentricity()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEccentricity</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getEccentricity()</pre>
<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.
 The eccentricity can alternately be computed from the equation: ℯ = √(2f - f²) where <var>f</var> is the
 flattening factor (not inverse).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ℯ, the eccentricity of this ellipsoid.</dd>
</dl>
</li>
</ul>
<a id="getEccentricitySquared()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEccentricitySquared</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getEccentricitySquared()</pre>
<div class="block">Returns the square of the <a href="#getEccentricity()"><code>eccentricity</code></a> value.

 <div class="note"><b>Purpose:</b>
 this convenience method is provided because ℯ² is frequently used in coordinate operations,
 actually more often than ℯ. This convenience method avoids the cost of computing the square
 root when not needed.</div></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ℯ², the square of the eccentricity value.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.7</dd>
</dl>
</li>
</ul>
<a id="getInverseFlattening()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInverseFlattening</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getInverseFlattening()</pre>
<div class="block">Returns the value of the inverse of the flattening constant. Flattening is a value
 used to indicate how closely an ellipsoid approaches a spherical shape. The inverse
 flattening is related to the equatorial/polar radius by the formula:

 <blockquote>
 <var>ivf</var> = <var>r</var><sub>e</sub> / (<var>r</var><sub>e</sub> - <var>r</var><sub>p</sub>).
 </blockquote>

 For perfect spheres (i.e. if <a href="#isSphere()"><code>is­Sphere()</code></a> returns <code>true</code>),
 the <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"><code>Double​.POSITIVE_INFINITY</code></a> value is used.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true#getInverseFlattening()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Inverse­Flattening</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the inverse flattening value.</dd>
</dl>
</li>
</ul>
<a id="isIvfDefinitive()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isIvfDefinitive</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isIvfDefinitive()</pre>
<div class="block">Indicates if the <a href="#getInverseFlattening()">inverse flattening</a> is definitive for
 this ellipsoid. Some ellipsoids use the IVF as the defining value, and calculate the polar
 radius whenever asked. Other ellipsoids use the polar radius to calculate the IVF whenever
 asked. This distinction can be important to avoid floating-point rounding errors.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true#isIvfDefinitive()" title="class or interface in org.opengis.referencing.datum" class="externalLink">is­Ivf­Definitive</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the <a href="#getInverseFlattening()">inverse flattening</a> is definitive,
         or <code>false</code> if the <a href="#getSemiMinorAxis()">polar radius</a> is definitive.</dd>
</dl>
</li>
</ul>
<a id="isSphere()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSphere</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSphere()</pre>
<div class="block"><code>true</code> if the ellipsoid is degenerate and is actually a sphere.
 The sphere is completely defined by the <a href="#getSemiMajorAxis()">semi-major axis</a>,
 which is the radius of the sphere.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true#isSphere()" title="class or interface in org.opengis.referencing.datum" class="externalLink">is­Sphere</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the ellipsoid is degenerate and is actually a sphere.</dd>
</dl>
</li>
</ul>
<a id="orthodromicDistance(double,double,double,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>orthodromicDistance</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public&nbsp;double&nbsp;orthodromicDistance&#8203;(double&nbsp;λ1,
                                  double&nbsp;φ1,
                                  double&nbsp;λ2,
                                  double&nbsp;φ2)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Replaced by <a href="../GeodeticCalculator.html" title="class in org.apache.sis.referencing"><code>Geodetic­Calculator</code></a>.</div>
</div>
<div class="block">Returns the orthodromic distance between two geographic coordinates.
 The orthodromic distance is the shortest distance between two points on a ellipsoid's surface.
 The orthodromic path is always on a great circle.

 <div class="note"><b>Note:</b>
 Orthodromic distances are different than the <cite>loxodromic distance</cite>.
 The later is a longer distance on a path with a constant direction on the compass.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>\u03bb1</code> - longitude of first  point (in decimal degrees).</dd>
<dd><code>\u03c61</code> - latitude  of first  point (in decimal degrees).</dd>
<dd><code>\u03bb2</code> - longitude of second point (in decimal degrees).</dd>
<dd><code>\u03c62</code> - latitude  of second point (in decimal degrees).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the orthodromic distance (in the units of this ellipsoid's axis).</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://issues.apache.org/jira/browse/SIS-386">SIS-386</a></dd>
</dl>
</li>
</ul>
<a id="semiMajorAxisDifference(org.opengis.referencing.datum.Ellipsoid)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>semiMajorAxisDifference</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;semiMajorAxisDifference&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&nbsp;other)</pre>
<div class="block">Returns the difference between the semi-major axis length of two ellipsoids.
 If the two ellipsoid does not use the same unit of measurement, than the axis
 length of the other ellipsoid is converted into the units of this ellipsoid axis.

 <div class="note"><b>Example:</b>
 <code>WGS84​.semi­Major­Axis­Difference(ED50)</code> returns 251 metres. This information is a parameter of
 <a href="../operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">Molodensky transformations</a>.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>other</code> - the other ellipsoid from which to get semi-major axis length difference.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>(<var>other</var> ellipsoid semi-major axis) - (<var>this</var> ellipsoid semi-major axis).</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.7</dd>
</dl>
</li>
</ul>
<a id="flatteningDifference(org.opengis.referencing.datum.Ellipsoid)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flatteningDifference</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;flatteningDifference&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Ellipsoid.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Ellipsoid</a>&nbsp;other)</pre>
<div class="block">Returns the difference between the flattening factor of two ellipsoids.
 This method returns 0 if the two ellipsoids are equal.

 <div class="note"><b>Example:</b>
 <code>WGS84​.flattening­Difference(ED50)</code> returns approximately 1.41927E-05. This information is a parameter of
 <a href="../operation/transform/MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">Molodensky transformations</a>.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>other</code> - the other ellipsoid from which to get flattening difference.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>(<var>other</var> ellipsoid flattening) - (<var>this</var> ellipsoid flattening).</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.7</dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object,
                      <a href="../../util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</pre>
<div class="block">Compares this ellipsoid with the specified object for equality.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/LenientComparable.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractIdentifiedObject.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">Abstract­Identified­Object</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to compare to <code>this</code>.</dd>
<dd><code>mode</code> - <a href="../../util/ComparisonMode.html#STRICT"><code>STRICT</code></a> for performing a strict comparison, or
                 <a href="../../util/ComparisonMode.html#IGNORE_METADATA"><code>IGNORE_METADATA</code></a> for comparing only
                 properties relevant to coordinate transformations.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if both objects are equal.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../AbstractIdentifiedObject.html#computeHashCode()"><code>Abstract­Identified­Object​.compute­Hash­Code()</code></a>, 
<a href="../../util/Utilities.html#deepEquals(java.lang.Object,java.lang.Object,org.apache.sis.util.ComparisonMode)"><code>Utilities​.deep­Equals(Object, Object, Comparison­Mode)</code></a></dd>
</dl>
</li>
</ul>
<a id="computeHashCode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeHashCode</h4>
<pre class="methodSignature">protected&nbsp;long&nbsp;computeHashCode()</pre>
<div class="block">Invoked by <code>hash­Code()</code> for computing the hash code when first needed.
 See <a href="../AbstractIdentifiedObject.html#computeHashCode()"><code>Abstract­Identified­Object​.compute­Hash­Code()</code></a>
 for more information.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractIdentifiedObject.html#computeHashCode()">compute­Hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">Abstract­Identified­Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the hash code value. This value may change in any future Apache SIS version.</dd>
</dl>
</li>
</ul>
<a id="formatTo(org.apache.sis.io.wkt.Formatter)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>formatTo</h4>
<pre class="methodSignature">protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;formatTo&#8203;(<a href="../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a>&nbsp;formatter)</pre>
<div class="block">Formats this ellipsoid as a <cite>Well Known Text</cite> <code>Ellipsoid[…]</code> element.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractIdentifiedObject.html#formatTo(org.apache.sis.io.wkt.Formatter)">format­To</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">Abstract­Identified­Object</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>formatter</code> - the formatter where to format the inner content of this WKT element.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>"Ellipsoid"</code> (WKT 2) or <code>"Spheroid"</code> (WKT 1).</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html#52">WKT 2 specification §8.2.1</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DefaultEllipsoid.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
