blob: 225f39cf10525bc0f8a44e0af969717b6d6d3b2a [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>DefaultGeodeticDatum (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.DefaultGeodeticDatum class">
<meta name="keywords" content="BURSA_WOLF_KEY">
<meta name="keywords" content="castOrCopy()">
<meta name="keywords" content="getInterface()">
<meta name="keywords" content="getEllipsoid()">
<meta name="keywords" content="getPrimeMeridian()">
<meta name="keywords" content="getBursaWolfParameters()">
<meta name="keywords" content="getPositionVectorTransformation()">
<meta name="keywords" content="isHeuristicMatchForName()">
<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="DefaultGeodeticDatum (Apache SIS 1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DefaultGeodeticDatum.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><a href="#field.detail">Field</a>&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 DefaultGeodeticDatum" class="title">Class DefaultGeodeticDatum</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><a href="AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></li>
<li>
<ul class="inheritance">
<li>DefaultGeodeticDatum</li>
</ul>
</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/Datum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Datum</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Geodetic­Datum</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">DefaultGeodeticDatum</span>
extends <a href="AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a>
implements <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a></pre>
<div class="block">Defines the location and orientation of an ellipsoid that approximates the shape of the earth.
Geodetic datum are used together with ellipsoidal coordinate system, and also with Cartesian
coordinate system centered in the ellipsoid (or sphere).
<div class="section">Bursa-Wolf parameters</div>
One or many <a href="BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum"><code>Bursa­Wolf­Parameters</code></a> can optionally be associated to each <code>Default­Geodetic­Datum</code> instance.
This association is not part of the ISO 19111 model, but still a common practice (especially in older standards).
Associating Bursa-Wolf parameters to geodetic datum is known as the <cite>early-binding</cite> approach.
A recommended alternative, discussed below, is the <cite>late-binding</cite> approach.
<p>The Bursa-Wolf parameters serve two purposes:</p>
<ol class="verbose">
<li><b>Fallback for datum shifts</b><br>
There is different methods for transforming coordinates from one geodetic datum to an other datum,
and Bursa-Wolf parameters are used with some of them. However different set of parameters may exist
for the same pair of (<var>source</var>, <var>target</var>) datum, so it is often not sufficient to
know those datum. The (<var>source</var>, <var>target</var>) pair of CRS are often necessary,
sometime together with the geographic extent of the coordinates to transform.
<p>Apache SIS searches for datum shift methods (including Bursa-Wolf parameters) in the EPSG database when a
<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>Coordinate­Operation</code></a> or a
<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>Math­Transform</code></a> is requested for a pair of CRS.
This is known as the <cite>late-binding</cite> approach.
If a datum shift method is found in the database, it will have precedence over any <code>Bursa­Wolf­Parameters</code>
instance associated to this <code>Default­Geodetic­Datum</code>. Only if no datum shift method is found in the database,
then the <code>Bursa­Wolf­Parameters</code> associated to the datum may be used as a fallback.</p>
</li>
<li><b>WKT version 1 formatting</b><br>
The Bursa-Wolf parameters association serves an other purpose: when a CRS is formatted in the older
<cite>Well Known Text</cite> (WKT 1) format, the formatted string may contain a <code>TOWGS84[…]</code> element
with the parameter values of the transformation to the WGS 84 datum. This element is provided as a help
for other Geographic Information Systems that support only the <cite>early-binding</cite> approach.
Apache SIS usually does not need the <code>TOWGS84</code> element, except as a fallback for datum that
do not exist in the EPSG database.
</li>
</ol>
<div class="section">Creating new geodetic datum 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).
Choice 1 in the following list is the easiest but most restrictive way to get a geodetic datum.
The other choices provide more freedom.
<ol>
<li>Create a <code>Geodetic­Datum</code> from one of the static convenience shortcuts listed in
<a href="../CommonCRS.html#datum()"><code>Common­CRS​.datum()</code></a>.</li>
<li>Create a <code>Geodetic­Datum</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#createGeodeticDatum(java.lang.String)" title="class or interface in org.opengis.referencing.datum" class="externalLink"><code>Datum­Authority­Factory​.create­Geodetic­Datum(String)</code></a>.</li>
<li>Create a <code>Geodetic­Datum</code> by invoking the <code>Datum­Factory​.create­Geodetic­Datum(…)</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­Geodetic­Datum</code> by invoking the
<a href="#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.Ellipsoid,org.opengis.referencing.datum.PrimeMeridian)">constructor</a>.</li>
</ol>
<b>Example:</b> the following code gets a <cite>World Geodetic System 1984</cite> datum:
<blockquote><pre>GeodeticDatum datum = CommonCRS.WGS84.<b>datum</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),
the <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"><code>Ellipsoid</code></a> and the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/PrimeMeridian.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink"><code>Prime­Meridian</code></a> given to the constructor 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="DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum"><code>Default­Ellipsoid</code></a>,
<a href="DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum"><code>Default­Prime­Meridian</code></a>,
<a href="../CommonCRS.html#datum()"><code>Common­CRS​.datum()</code></a>,
<a href="../factory/GeodeticAuthorityFactory.html#createGeodeticDatum(java.lang.String)"><code>Geodetic­Authority­Factory​.create­Geodetic­Datum(String)</code></a>,
<a href="../../../../../serialized-form.html#org.apache.sis.referencing.datum.DefaultGeodeticDatum">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>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#BURSA_WOLF_KEY">BURSA_WOLF_KEY</a></span></code></th>
<td class="colLast">
<div class="block">The <code>"bursa­Wolf"</code> property for
<a href="#getBursaWolfParameters()">Bursa-Wolf parameters</a>.</div>
</td>
</tr>
</table>
<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.Datum">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;<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">Datum</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#ANCHOR_POINT_KEY" title="class or interface in org.opengis.referencing.datum" class="externalLink">ANCHOR_POINT_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#DOMAIN_OF_VALIDITY_KEY" title="class or interface in org.opengis.referencing.datum" class="externalLink">DOMAIN_OF_VALIDITY_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#REALIZATION_EPOCH_KEY" title="class or interface in org.opengis.referencing.datum" class="externalLink">REALIZATION_EPOCH_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#SCOPE_KEY" title="class or interface in org.opengis.referencing.datum" class="externalLink">SCOPE_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>&nbsp;</code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.Ellipsoid,org.opengis.referencing.datum.PrimeMeridian)">DefaultGeodeticDatum</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,
<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,
<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/PrimeMeridian.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">PrimeMeridian</a>&nbsp;primeMeridian)</code></th>
<td class="colLast">
<div class="block">Creates a geodetic datum from the given properties.</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.GeodeticDatum)">DefaultGeodeticDatum</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a>&nbsp;datum)</code></th>
<td class="colLast">
<div class="block">Creates a new datum 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></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="DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#castOrCopy(org.opengis.referencing.datum.GeodeticDatum)">castOrCopy</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Returns a SIS datum 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>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">Compare this datum with the specified object for equality.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<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 datum as a <cite>Well Known Text</cite> <code>Datum[…]</code> element.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBursaWolfParameters()">getBursaWolfParameters</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns all Bursa-Wolf parameters specified in the <code>properties</code> map at construction time.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><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></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEllipsoid()">getEllipsoid</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the ellipsoid given at construction time.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<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/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</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="i7" class="rowColor">
<td class="colFirst"><code><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">Matrix</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPositionVectorTransformation(org.opengis.referencing.datum.GeodeticDatum,org.opengis.metadata.extent.Extent)">getPositionVectorTransformation</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a>&nbsp;targetDatum,
<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">Extent</a>&nbsp;areaOfInterest)</code></th>
<td class="colLast">
<div class="block">Returns the position vector transformation (geocentric domain) to the specified datum.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/PrimeMeridian.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">PrimeMeridian</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPrimeMeridian()">getPrimeMeridian</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the prime meridian given at construction time.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isHeuristicMatchForName(java.lang.String)">isHeuristicMatchForName</a></span>&#8203;(<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;name)</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if either the <a href="../AbstractIdentifiedObject.html#getName()">primary name</a> or at least
one <a href="../AbstractIdentifiedObject.html#getAlias()">alias</a> matches the given string according heuristic rules.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.AbstractDatum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="AbstractDatum.html" title="class in org.apache.sis.referencing.datum">AbstractDatum</a></h3>
<code><a href="AbstractDatum.html#castOrCopy(org.opengis.referencing.datum.Datum)">cast­Or­Copy</a>, <a href="AbstractDatum.html#getAnchorPoint()">get­Anchor­Point</a>, <a href="AbstractDatum.html#getDomainOfValidity()">get­Domain­Of­Validity</a>, <a href="AbstractDatum.html#getRealizationEpoch()">get­Realization­Epoch</a>, <a href="AbstractDatum.html#getScope()">get­Scope</a></code></li>
</ul>
<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></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.Datum">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;<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">Datum</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#getAnchorPoint()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Anchor­Point</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#getDomainOfValidity()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Domain­Of­Validity</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#getRealizationEpoch()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Realization­Epoch</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#getScope()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Scope</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">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="BURSA_WOLF_KEY">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BURSA_WOLF_KEY</h4>
<pre>public static final&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> BURSA_WOLF_KEY</pre>
<div class="block">The <code>"bursa­Wolf"</code> property for
<a href="#getBursaWolfParameters()">Bursa-Wolf parameters</a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.sis.referencing.datum.DefaultGeodeticDatum.BURSA_WOLF_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= 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,org.opengis.referencing.datum.Ellipsoid,org.opengis.referencing.datum.PrimeMeridian)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DefaultGeodeticDatum</h4>
<pre>public&nbsp;DefaultGeodeticDatum&#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,
<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,
<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/PrimeMeridian.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">PrimeMeridian</a>&nbsp;primeMeridian)</pre>
<div class="block">Creates a geodetic datum from the given properties. The properties map is given
unchanged to the <a href="AbstractDatum.html#%3Cinit%3E(java.util.Map)">super-class constructor</a>.
In addition to the properties documented in the parent constructor,
the following properties are understood by this constructor:
<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="#BURSA_WOLF_KEY">"bursaWolf"</a></td>
<td><a href="BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum"><code>BursaWolfParameters</code></a> (optionally as array)</td>
<td><a href="#getBursaWolfParameters()"><code>getBursaWolfParameters()</code></a></td>
</tr>
<tr>
<th colspan="3" class="hsep">Defined in parent classes (reminder)</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>
<tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#ANCHOR_POINT_KEY" title="class or interface in org.opengis.referencing.datum" class="externalLink">"anchorPoint"</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="AbstractDatum.html#getAnchorPoint()"><code>AbstractDatum.getAnchorPoint()</code></a></td>
</tr>
<tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#REALIZATION_EPOCH_KEY" title="class or interface in org.opengis.referencing.datum" class="externalLink">"realizationEpoch"</a></td>
<td><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></td>
<td><a href="AbstractDatum.html#getRealizationEpoch()"><code>AbstractDatum.getRealizationEpoch()</code></a></td>
</tr>
<tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#DOMAIN_OF_VALIDITY_KEY" title="class or interface in org.opengis.referencing.datum" class="externalLink">"domainOfValidity"</a></td>
<td><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></td>
<td><a href="AbstractDatum.html#getDomainOfValidity()"><code>AbstractDatum.getDomainOfValidity()</code></a></td>
</tr>
<tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/Datum.html?is-external=true#SCOPE_KEY" title="class or interface in org.opengis.referencing.datum" class="externalLink">"scope"</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="AbstractDatum.html#getScope()"><code>AbstractDatum.getScope()</code></a></td>
</tr>
</table>
If Bursa-Wolf parameters are specified, then the prime meridian of their
<a href="BursaWolfParameters.html#getTargetDatum()">target datum</a> shall be either the same than the
<code>prime­Meridian</code> given to this constructor, or Greenwich. This restriction is for avoiding
ambiguity about whether the longitude rotation shall be applied before or after the datum shift.
If the target prime meridian is Greenwich, then the datum shift will be applied in a coordinate
system having Greenwich as the prime meridian.</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>ellipsoid</code> - the ellipsoid.</dd>
<dd><code>prime­Meridian</code> - the prime meridian.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../factory/GeodeticObjectFactory.html#createGeodeticDatum(java.util.Map,org.opengis.referencing.datum.Ellipsoid,org.opengis.referencing.datum.PrimeMeridian)"><code>Geodetic­Object­Factory​.create­Geodetic­Datum(Map, Ellipsoid, Prime­Meridian)</code></a></dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.opengis.referencing.datum.GeodeticDatum)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DefaultGeodeticDatum</h4>
<pre>protected&nbsp;DefaultGeodeticDatum&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a>&nbsp;datum)</pre>
<div class="block">Creates a new datum 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>datum</code> - the datum to copy.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#castOrCopy(org.opengis.referencing.datum.GeodeticDatum)"><code>cast­Or­Copy(Geodetic­Datum)</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="castOrCopy(org.opengis.referencing.datum.GeodeticDatum)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>castOrCopy</h4>
<pre class="methodSignature">public static&nbsp;<a href="DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">DefaultGeodeticDatum</a>&nbsp;castOrCopy&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a>&nbsp;object)</pre>
<div class="block">Returns a SIS datum 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/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a>&gt;&nbsp;getInterface()</pre>
<div class="block">Returns the GeoAPI interface implemented by this class.
The SIS implementation returns <code>Geodetic­Datum​.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>Geodetic­Datum</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="AbstractDatum.html#getInterface()">get­Interface</a></code>&nbsp;in class&nbsp;<code><a href="AbstractDatum.html" title="class in org.apache.sis.referencing.datum">Abstract­Datum</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Geodetic­Datum​.class</code> or a user-defined sub-interface.</dd>
</dl>
</li>
</ul>
<a id="getEllipsoid()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEllipsoid</h4>
<pre class="methodSignature">public&nbsp;<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;getEllipsoid()</pre>
<div class="block">Returns the ellipsoid given at construction time.</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/GeodeticDatum.html?is-external=true#getEllipsoid()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Ellipsoid</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Geodetic­Datum</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ellipsoid.</dd>
</dl>
</li>
</ul>
<a id="getPrimeMeridian()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPrimeMeridian</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/PrimeMeridian.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">PrimeMeridian</a>&nbsp;getPrimeMeridian()</pre>
<div class="block">Returns the prime meridian given at construction time.</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/GeodeticDatum.html?is-external=true#getPrimeMeridian()" title="class or interface in org.opengis.referencing.datum" class="externalLink">get­Prime­Meridian</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">Geodetic­Datum</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the prime meridian.</dd>
</dl>
</li>
</ul>
<a id="getBursaWolfParameters()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBursaWolfParameters</h4>
<pre class="methodSignature">public&nbsp;<a href="BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a>[]&nbsp;getBursaWolfParameters()</pre>
<div class="block">Returns all Bursa-Wolf parameters specified in the <code>properties</code> map at construction time.
See class javadoc for a discussion about Bursa-Wolf parameters.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Bursa-Wolf parameters, or an empty array if none.</dd>
</dl>
</li>
</ul>
<a id="getPositionVectorTransformation(org.opengis.referencing.datum.GeodeticDatum,org.opengis.metadata.extent.Extent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPositionVectorTransformation</h4>
<pre class="methodSignature">public&nbsp;<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">Matrix</a>&nbsp;getPositionVectorTransformation&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a>&nbsp;targetDatum,
<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">Extent</a>&nbsp;areaOfInterest)</pre>
<div class="block">Returns the position vector transformation (geocentric domain) to the specified datum.
If the returned matrix is non-null, then the transformation is represented by an affine transform which can be
applied on <strong>geocentric</strong> coordinates. This is identified in the EPSG database as operation method
1033 – <cite>Position Vector transformation (geocentric domain)</cite>, or
1053 – <cite>Time-dependent Position Vector transformation</cite>.
<p>If this datum and the given <code>target­Datum</code> do not use the same <a href="#getPrimeMeridian()">prime meridian</a>,
then it is caller's responsibility to to apply longitude rotation before to use the matrix returned by this method.
The target prime meridian should be Greenwich (see <a href="#%3Cinit%3E(java.util.Map,org.opengis.referencing.datum.Ellipsoid,org.opengis.referencing.datum.PrimeMeridian)">constructor javadoc</a>), in which case the datum shift should be applied in a geocentric coordinate system having
Greenwich as the prime meridian.</p>
<div class="note"><b>Note:</b>
in EPSG dataset version 8.9, all datum shifts that can be represented by this method use Greenwich as the
prime meridian, both in source and target datum.</div>
<div class="section">Search criterion</div>
If the given <code>area­Of­Interest</code> is non-null and contains at least one geographic bounding box, then this
method ignores any Bursa-Wolf parameters having a <a href="BursaWolfParameters.html#getDomainOfValidity()">domain
of validity</a> that does not intersect the given geographic extent.
This method performs the search among the remaining parameters in the following order:
<ol>
<li>If this <code>Geodetic­Datum</code> contains <code>Bursa­Wolf­Parameters</code> having the given
<a href="BursaWolfParameters.html#getTargetDatum()">target datum</a> (ignoring metadata),
then the matrix will be built from those parameters.</li>
<li>Otherwise if the other datum contains <code>Bursa­Wolf­Parameters</code> having this datum
as their target (ignoring metadata), then the matrix will be built from those parameters
and <a href="../operation/matrix/MatrixSIS.html#inverse()">inverted</a>.</li>
</ol>
<div class="section">Multi-occurrences resolution</div>
If more than one <code>Bursa­Wolf­Parameters</code> instance is found in any of the above steps, then the one having
the largest intersection between its <a href="BursaWolfParameters.html#getDomainOfValidity()">domain of validity</a>
and the given extent will be selected. If more than one instance have the same intersection, then the first
occurrence is selected.
<div class="section">Time-dependent parameters</div>
If the given extent contains a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/TemporalExtent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">temporal extent</a>,
then the instant located midway between start and end time will be taken as the date where to evaluate the
Bursa-Wolf parameters. This is relevant only to <a href="TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">time-dependent parameters</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target­Datum</code> - the target datum.</dd>
<dd><code>area­Of­Interest</code> - the geographic and temporal extent where the transformation should be valid, or <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an affine transform from <code>this</code> to <code>target</code> in geocentric space, or <code>null</code> if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="BursaWolfParameters.html#getPositionVectorTransformation(java.util.Date)"><code>Bursa­Wolf­Parameters​.get­Position­Vector­Transformation(Date)</code></a></dd>
</dl>
</li>
</ul>
<a id="isHeuristicMatchForName(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isHeuristicMatchForName</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isHeuristicMatchForName&#8203;(<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;name)</pre>
<div class="block">Returns <code>true</code> if either the <a href="../AbstractIdentifiedObject.html#getName()">primary name</a> or at least
one <a href="../AbstractIdentifiedObject.html#getAlias()">alias</a> matches the given string according heuristic rules.
This method implements the flexibility documented in the
<a href="AbstractDatum.html#isHeuristicMatchForName(java.lang.String)">super-class</a>. In particular,
this method ignores the prime meridian name if that name is found between parenthesis in the datum name.
The meridian can be safely ignored in the datum name because the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/PrimeMeridian.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink"><code>Prime­Meridian</code></a> object is already
compared by the <a href="../AbstractIdentifiedObject.html#equals(java.lang.Object)"><code>Abstract­Identified­Object​.equals(Object)</code></a> method.
<div class="note"><b>Example:</b>
if the datum name is <cite>"Nouvelle Triangulation Française (Paris)"</cite> and the prime meridian name is
<cite>"Paris"</cite>, then this method compares only the <cite>"Nouvelle Triangulation Française"</cite> part.
</div>
<div class="section">Future evolutions</div>
This method implements heuristic rules learned from experience while trying to provide inter-operability
with different data producers. Those rules may be adjusted in any future SIS version according experience
gained while working with more data producers.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractDatum.html#isHeuristicMatchForName(java.lang.String)">is­Heuristic­Match­For­Name</a></code>&nbsp;in class&nbsp;<code><a href="AbstractDatum.html" title="class in org.apache.sis.referencing.datum">Abstract­Datum</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name to compare.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the primary name or at least one alias matches the specified <code>name</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.7</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../IdentifiedObjects.html#isHeuristicMatchForName(org.opengis.referencing.IdentifiedObject,java.lang.String)"><code>Identified­Objects​.is­Heuristic­Match­For­Name(Identified­Object, String)</code></a>,
<a href="../../util/Characters.Filter.html#LETTERS_AND_DIGITS"><code>Characters​.Filter​.LETTERS_AND_DIGITS</code></a></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">Compare this datum 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="AbstractDatum.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in class&nbsp;<code><a href="AbstractDatum.html" title="class in org.apache.sis.referencing.datum">Abstract­Datum</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="AbstractDatum.html#computeHashCode()">compute­Hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="AbstractDatum.html" title="class in org.apache.sis.referencing.datum">Abstract­Datum</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 datum as a <cite>Well Known Text</cite> <code>Datum[…]</code> element.
<div class="note"><b>Example:</b> Well-Known Text of a WGS 84 datum.
<blockquote><pre>Datum["World Geodetic System 1984",
Ellipsoid["WGS84", 6378137.0, 298.257223563, LengthUnit["metre", 1]],
Id["EPSG", 6326, Citation["IOGP"], URI["urn:ogc:def:datum:EPSG::6326"]]]</pre></blockquote>
<p>Same datum using WKT 1.</p>
<blockquote><pre>DATUM["World Geodetic System 1984"
SPHEROID["WGS84", 6378137.0, 298.257223563],
AUTHORITY["EPSG", "6326"]]</pre></blockquote>
</div>
Note that the <a href="#getPrimeMeridian()">prime meridian</a> shall be formatted by the caller
as a separated element after the geodetic datum (for compatibility with WKT 1).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractDatum.html#formatTo(org.apache.sis.io.wkt.Formatter)">format­To</a></code>&nbsp;in class&nbsp;<code><a href="AbstractDatum.html" title="class in org.apache.sis.referencing.datum">Abstract­Datum</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>"Datum"</code> or <code>"Geodetic­Datum"</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html#51">WKT 2 specification §8.2</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/DefaultGeodeticDatum.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><a href="#field.detail">Field</a>&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>