blob: 8e70b4d25d04545f6bde5e437464dc723e01b9a7 [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>DatumShiftTransform (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.operation.transform.DatumShiftTransform class">
<meta name="keywords" content="getParameterValues()">
<meta name="keywords" content="getContextualParameters()">
<meta name="keywords" content="computeHashCode()">
<meta name="keywords" content="equals()">
<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="DatumShiftTransform (Apache SIS 1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All 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/DatumShiftTransform.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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.operation.transform</a></div>
<h2 title="Class DatumShiftTransform" class="title">Class DatumShiftTransform</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="AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></li>
<li>
<ul class="inheritance">
<li>DatumShiftTransform</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="../../../parameter/Parameterized.html" title="interface in org.apache.sis.parameter">Parameterized</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/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Math­Transform</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">Interpolated­Geocentric­Transform</a></code>, <code><a href="InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">Interpolated­Molodensky­Transform</a></code>, <code><a href="InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform">Interpolated­Transform</a></code>, <code><a href="MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform">Molodensky­Transform</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">DatumShiftTransform</span>
extends <a href="AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></pre>
<div class="block">Transforms between two CRS (usually geographic) based on different datum. A datum shift may be needed when two CRS
use different <a href="../../datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">ellipsoids</a> as approximation of the
shape of the Earth. Sometime two CRS use the same ellipsoid but with different anchor point (i.e. their coordinate
systems have their origin in different locations).
<p>There is many different datum shift methods, ranging from transformations as simple as adding a constant offset
to geographic coordinates, to more complex transformations involving conversions to geocentric coordinates and/or
interpolations in a <a href="../../datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum">datum shift grid</a>. The simple cases like adding a constant offset
are handled by other <code>Math­Transform</code> implementations like <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform"><code>Linear­Transform</code></a>.
More complex methods are subclasses of this <code>Datum­Shift­Transform</code> base class, but users should not assume
that this is the case of every transforms performing a datum shift.</p>
<div class="section">Datum shift methods overview</div>
The two CRS's ellipsoids have slightly different scale and rotation in space, and their center are located in
a slightly different position. Consequently geodetic datum shifts are often approximated by a constant scale,
rotation and translation applied on geocentric coordinates. Those approximations are handled in SIS
by concatenations of <a href="EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>Ellipsoid­To­Centric­Transform</code></a> with <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform"><code>Linear­Transform</code></a> instead than a specific
<code>Datum­Shift­Transform</code> subclass.
<p>If the geodetic datum shifts is approximated only by a geocentric translation without any scale or rotation,
and if an error of a few centimetres it acceptable, then the <a href="MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>Molodensky­Transform</code></a> subclass can be used
as an approximation of the above method. The Molodensky method requires less floating point operations since
it applies directly on geographic coordinates, without conversions to geocentric coordinates.</p>
<p>Some countries go one step further and allow the above geocentric translations to be non-constant.
Instead, a different geocentric translation is interpolated for each geographic input coordinates.
This case is handled by the <a href="InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>Interpolated­Geocentric­Transform</code></a> subclass, or its
<a href="InterpolatedMolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>Interpolated­Molodensky­Transform</code></a> variant if a few centimetres accuracy lost can be afforded.</p>
<p>A simpler alternative to the above is to interpolate translations to apply directly on geographic coordinates.
This is the approach taken by NADCON and NTv2 grids.
SIS handles those datum shifts with the <a href="InterpolatedTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>Interpolated­Transform</code></a> subclass.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.7</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../datum/DatumShiftGrid.html" title="class in org.apache.sis.referencing.datum"><code>Datum­Shift­Grid</code></a>,
<a href="../../../../../../serialized-form.html#org.apache.sis.referencing.operation.transform.DatumShiftTransform">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">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.sis.referencing.operation.transform.AbstractMathTransform">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;<a href="AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></h3>
<code><a href="AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">Abstract­Math­Transform​.Inverse</a></code></li>
</ul>
</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="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>protected int</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">Computes a hash value for this transform.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<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 the specified object with this math transform for equality.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContextualParameters()">getContextualParameters</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the parameters used for creating the complete transformation.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterValueGroup</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParameterValues()">getParameterValues</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the internal parameter values of this <code>Datum­Shift­Transform</code> instance (ignoring context).</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.AbstractMathTransform">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></h3>
<code><a href="AbstractMathTransform.html#derivative(org.opengis.geometry.DirectPosition)">derivative</a>, <a href="AbstractMathTransform.html#equals(java.lang.Object)">equals</a>, <a href="AbstractMathTransform.html#formatTo(org.apache.sis.io.wkt.Formatter)">format­To</a>, <a href="AbstractMathTransform.html#getParameterDescriptors()">get­Parameter­Descriptors</a>, <a href="AbstractMathTransform.html#getSourceDimensions()">get­Source­Dimensions</a>, <a href="AbstractMathTransform.html#getTargetDimensions()">get­Target­Dimensions</a>, <a href="AbstractMathTransform.html#hashCode()">hash­Code</a>, <a href="AbstractMathTransform.html#inverse()">inverse</a>, <a href="AbstractMathTransform.html#isIdentity()">is­Identity</a>, <a href="AbstractMathTransform.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform</a>, <a href="AbstractMathTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform</a>, <a href="AbstractMathTransform.html#transform(double%5B%5D,int,float%5B%5D,int,int)">transform</a>, <a href="AbstractMathTransform.html#transform(float%5B%5D,int,double%5B%5D,int,int)">transform</a>, <a href="AbstractMathTransform.html#transform(float%5B%5D,int,float%5B%5D,int,int)">transform</a>, <a href="AbstractMathTransform.html#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)">transform</a>, <a href="AbstractMathTransform.html#tryConcatenate(boolean,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)">try­Concatenate</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.MathTransform">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;<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">MathTransform</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#toWKT()" title="class or interface in org.opengis.referencing.operation" class="externalLink">to­WKT</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getParameterValues()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParameterValues</h4>
<pre class="methodSignature"><a href="../../../util/Debug.html" title="annotation in org.apache.sis.util">@Debug</a>
public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterValueGroup</a>&nbsp;getParameterValues()</pre>
<div class="block">Returns the internal parameter values of this <code>Datum­Shift­Transform</code> instance (ignoring context).
The parameters returned by this method do not necessarily describe the whole datum shift process,
because <code>Datum­Shift­Transform</code> instances are often preceeded and followed by linear conversions.
It may be conversions between degrees and radians units, or conversions from geodetic coordinates to grid indices.
<div class="note"><b>Example:</b>
The chain of transforms of an <a href="InterpolatedGeocentricTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>Interpolated­Geocentric­Transform</code></a> is:
<div class="horizontal-flow" style="align-items:center">
<div> <math display="block" alttext="MathML capable browser required">
<mfenced open="[" close="]">
<mtable>
<mtr>
<mtd><mi>π</mi><mo>/</mo><mn>180</mn></mtd>
<mtd><mn>0</mn></mtd>
<mtd><mo>-</mo><msub><mi>λ</mi><mn>0</mn></msub> <mo></mo> <mo>(</mo><mi>π</mi><mo>/</mo><mn>180</mn><mo>)</mo></mtd>
</mtr>
<mtr>
<mtd><mn>0</mn></mtd>
<mtd><mi>π</mi><mo>/</mo><mn>180</mn></mtd>
<mtd><mn>0</mn></mtd>
</mtr>
<mtr>
<mtd><mn>0</mn></mtd>
<mtd><mn>0</mn></mtd>
<mtd><mn>1</mn></mtd>
</mtr>
</mtable>
</mfenced>
</math>
</div>
<div></div>
<div><ol style="padding-left: 15px">
<li>Geographic to geocentric conversion</li>
<li>Geocentric interpolation</li>
<li>Geocentric to geographic conversion</li>
</ol></div>
<div></div>
<div> <math display="block" alttext="MathML capable browser required">
<mfenced open="[" close="]">
<mtable>
<mtr>
<mtd><mi>180</mi><mo>/</mo><mn>π</mn></mtd>
<mtd><mn>0</mn></mtd>
<mtd><msub><mi>λ</mi><mn>0</mn></msub></mtd>
</mtr>
<mtr>
<mtd><mn>0</mn></mtd>
<mtd><mi>180</mi><mo>/</mo><mn>π</mn></mtd>
<mtd><mn>0</mn></mtd>
</mtr>
<mtr>
<mtd><mn>0</mn></mtd>
<mtd><mn>0</mn></mtd>
<mtd><mn>1</mn></mtd>
</mtr>
</mtable>
</mfenced>
</math>
</div>
</div>
</div>
This method returns the parameters for the part in the middle of above example.
The content of this part is highly implementation-dependent and used mostly for
<a href="../../../io/wkt/Convention.html#INTERNAL">debugging purposes</a>.
The parameters that describe the process as a whole are rather given by <a href="#getContextualParameters()"><code>get­Contextual­Parameters()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../parameter/Parameterized.html#getParameterValues()">get­Parameter­Values</a></code>&nbsp;in interface&nbsp;<code><a href="../../../parameter/Parameterized.html" title="interface in org.apache.sis.parameter">Parameterized</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractMathTransform.html#getParameterValues()">get­Parameter­Values</a></code>&nbsp;in class&nbsp;<code><a href="AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">Abstract­Math­Transform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the internal parameter values for this transform.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractMathTransform.html#getContextualParameters()"><code>Abstract­Math­Transform​.get­Contextual­Parameters()</code></a>,
<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/SingleOperation.html?is-external=true#getParameterValues()" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Single­Operation​.get­Parameter­Values()</code></a></dd>
</dl>
</li>
</ul>
<a id="getContextualParameters()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContextualParameters</h4>
<pre class="methodSignature">protected&nbsp;<a href="ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a>&nbsp;getContextualParameters()</pre>
<div class="block">Returns the parameters used for creating the complete transformation. Those parameters describe a sequence
of <cite>normalize</cite><code>this</code><cite>denormalize</cite> transforms, <strong>not</strong>
including <a href="../../cs/CoordinateSystems.html#swapAndScaleAxes(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.CoordinateSystem)">axis swapping</a>.
Those parameters are used for formatting <cite>Well Known Text</cite> (WKT) and error messages.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractMathTransform.html#getContextualParameters()">get­Contextual­Parameters</a></code>&nbsp;in class&nbsp;<code><a href="AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">Abstract­Math­Transform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameters values for the sequence of
<cite>normalize</cite><code>this</code><cite>denormalize</cite> transforms.</dd>
</dl>
</li>
</ul>
<a id="computeHashCode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeHashCode</h4>
<pre class="methodSignature">protected&nbsp;int&nbsp;computeHashCode()</pre>
<div class="block">Computes a hash value for this transform. This method is invoked by <a href="AbstractMathTransform.html#hashCode()"><code>Abstract­Math­Transform​.hash­Code()</code></a> when first needed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractMathTransform.html#computeHashCode()">compute­Hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">Abstract­Math­Transform</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the hash code value. This value may change between different execution of the Apache SIS library.</dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">
<!-- -->
</a>
<ul class="blockListLast">
<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 the specified object with this math transform 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="AbstractMathTransform.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in class&nbsp;<code><a href="AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">Abstract­Math­Transform</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to compare with this transform.</dd>
<dd><code>mode</code> - the strictness level of the comparison. Default to <a href="../../../util/ComparisonMode.html#STRICT"><code>STRICT</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given object is considered equals to this math transform.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><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>
</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/DatumShiftTransform.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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>