| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 --> |
| <title>AbstractMathTransform (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.AbstractMathTransform class"> |
| <meta name="keywords" content="getSourceDimensions()"> |
| <meta name="keywords" content="getTargetDimensions()"> |
| <meta name="keywords" content="getParameterDescriptors()"> |
| <meta name="keywords" content="getParameterValues()"> |
| <meta name="keywords" content="getContextualParameters()"> |
| <meta name="keywords" content="isIdentity()"> |
| <meta name="keywords" content="transform()"> |
| <meta name="keywords" content="derivative()"> |
| <meta name="keywords" content="inverse()"> |
| <meta name="keywords" content="tryConcatenate()"> |
| <meta name="keywords" content="hashCode()"> |
| <meta name="keywords" content="computeHashCode()"> |
| <meta name="keywords" content="equals()"> |
| <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="AbstractMathTransform (Apache SIS 1.0 API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":6,"i9":6,"i10":10,"i11":10,"i12":10,"i13":6,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/AbstractMathTransform.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 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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"> </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> <a href="package-summary.html">org.apache.sis.referencing.operation.transform</a></div> |
| <h2 title="Class AbstractMathTransform" class="title">Class AbstractMathTransform</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>AbstractMathTransform</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="../../../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">LenientComparable</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">MathTransform</a></code></dd> |
| </dl> |
| <dl> |
| <dt>Direct Known Subclasses:</dt> |
| <dd><code><a href="AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></code>, <code><a href="AbstractMathTransform1D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform1D</a></code>, <code><a href="AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></code>, <code><a href="DatumShiftTransform.html" title="class in org.apache.sis.referencing.operation.transform">DatumShiftTransform</a></code>, <code><a href="EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform">EllipsoidToCentricTransform</a></code>, <code><a href="PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform">PassThroughTransform</a></code></dd> |
| </dl> |
| <hr> |
| <pre>public abstract class <span class="typeNameLabel">AbstractMathTransform</span> |
| extends <a href="../../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a> |
| implements <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>, <a href="../../../parameter/Parameterized.html" title="interface in org.apache.sis.parameter">Parameterized</a>, <a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a></pre> |
| <div class="block">Provides a default implementation for most methods required by the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>MathTransform</code></a> interface. |
| A <code>MathTransform</code> is an object that actually does the work of applying a |
| <a href="../DefaultFormula.html" title="class in org.apache.sis.referencing.operation">formula</a> to coordinate values. |
| The math transform does not know or care how the coordinates relate to positions in the real world. |
| For example if an affine transform scales <var>z</var> values by a factor of 1000, |
| then it could be converting metres to millimetres, or it could be converting kilometres to metres. |
| |
| <p><code>AbstractMathTransform</code> provides a convenient base class from which <code>MathTransform</code> implementations |
| can be easily derived. It also defines a few additional SIS-specific methods for convenience of performance. |
| The simplest way to implement this abstract class is to provide an implementation for the following methods only:</p> |
| |
| <ul> |
| <li><a href="#getSourceDimensions()"><code>getSourceDimensions()</code></a></li> |
| <li><a href="#getTargetDimensions()"><code>getTargetDimensions()</code></a></li> |
| <li><a href="#transform(double%5B%5D,int,double%5B%5D,int,boolean)"><code>transform(double[], int, double[], int, boolean)</code></a></li> |
| </ul> |
| |
| However more performance may be gained by overriding the other <code>transform(…)</code> methods as well. |
| |
| <div class="section">Immutability and thread safety</div> |
| All Apache SIS implementations of <code>MathTransform</code> are immutable and thread-safe. |
| It is highly recommended that third-party implementations be immutable and thread-safe too. |
| This means that unless otherwise noted in the javadoc, <code>MathTransform</code> instances can |
| be shared by many objects and passed between threads without synchronization. |
| |
| <div class="section">Serialization</div> |
| <code>MathTransform</code> may or may not be serializable, at implementation choices. |
| Most Apache SIS implementations are serializable, but the serialized objects are not guaranteed to be compatible |
| with future SIS versions. Serialization should be used only for short term storage or RMI between applications |
| running the same SIS version.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.5</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform"><code>DefaultMathTransformFactory</code></a>, |
| <a href="../AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation"><code>AbstractCoordinateOperation</code></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> |
| <table class="memberSummary"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Class</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform.Inverse</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Base class for implementations of inverse math transforms.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier</th> |
| <th class="colSecond" scope="col">Constructor</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected </code></td> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">AbstractMathTransform</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Constructor for subclasses.</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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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><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="#derivative(org.opengis.geometry.DirectPosition)">derivative</a></span>​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/DirectPosition.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">DirectPosition</a> point)</code></th> |
| <td class="colLast"> |
| <div class="block">Gets the derivative of this transform at a point.</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)">equals</a></span>​(<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> object)</code></th> |
| <td class="colLast"> |
| <div class="block">Compares the specified object with this math transform for strict equality.</div> |
| </td> |
| </tr> |
| <tr id="i3" 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>​(<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> object, |
| <a href="../../../util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a> mode)</code></th> |
| <td class="colLast"> |
| <div class="block">Compares the specified object with this math transform for equality.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo</a></span>​(<a href="../../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a> formatter)</code></th> |
| <td class="colLast"> |
| <div class="block">Formats the inner part of a <cite>Well Known Text</cite> version 1 (WKT 1) element.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <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 for a sequence of <cite>normalize</cite> → <code>this</code> → <cite>denormalize</cite> |
| transforms (<i>optional operation</i>).</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParameterDescriptors()">getParameterDescriptors</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the parameter descriptors for this math transform, or <code>null</code> if unknown.</div> |
| </td> |
| </tr> |
| <tr id="i7" 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 parameter values for this math transform, or <code>null</code> if unknown.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>abstract int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSourceDimensions()">getSourceDimensions</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Gets the dimension of input points.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>abstract int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTargetDimensions()">getTargetDimensions</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Gets the dimension of output points.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a hash value for this transform.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><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">MathTransform</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#inverse()">inverse</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the inverse transform of this object.</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isIdentity()">isIdentity</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Tests whether this transform does not move any points.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>abstract <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="#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform</a></span>​(double[] srcPts, |
| int srcOff, |
| double[] dstPts, |
| int dstOff, |
| boolean derivate)</code></th> |
| <td class="colLast"> |
| <div class="block">Transforms a single coordinate point in an array, and optionally computes the transform |
| derivative at that location.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transform(double%5B%5D,int,double%5B%5D,int,int)">transform</a></span>​(double[] srcPts, |
| int srcOff, |
| double[] dstPts, |
| int dstOff, |
| int numPts)</code></th> |
| <td class="colLast"> |
| <div class="block">Transforms a list of coordinate points.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transform(double%5B%5D,int,float%5B%5D,int,int)">transform</a></span>​(double[] srcPts, |
| int srcOff, |
| float[] dstPts, |
| int dstOff, |
| int numPts)</code></th> |
| <td class="colLast"> |
| <div class="block">Transforms a list of coordinate points.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transform(float%5B%5D,int,double%5B%5D,int,int)">transform</a></span>​(float[] srcPts, |
| int srcOff, |
| double[] dstPts, |
| int dstOff, |
| int numPts)</code></th> |
| <td class="colLast"> |
| <div class="block">Transforms a list of coordinate points.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transform(float%5B%5D,int,float%5B%5D,int,int)">transform</a></span>​(float[] srcPts, |
| int srcOff, |
| float[] dstPts, |
| int dstOff, |
| int numPts)</code></th> |
| <td class="colLast"> |
| <div class="block">Transforms a list of coordinate points.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/DirectPosition.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">DirectPosition</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)">transform</a></span>​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/DirectPosition.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">DirectPosition</a> ptSrc, |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/DirectPosition.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">DirectPosition</a> ptDst)</code></th> |
| <td class="colLast"> |
| <div class="block">Transforms the specified <code>ptSrc</code> and stores the result in <code>ptDst</code>.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>protected <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></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tryConcatenate(boolean,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)">tryConcatenate</a></span>​(boolean applyOtherFirst, |
| <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> other, |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransformFactory.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransformFactory</a> factory)</code></th> |
| <td class="colLast"> |
| <div class="block">Concatenates or pre-concatenates in an optimized way this math transform with the given one, if possible.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.FormattableObject"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class <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()">toString</a>, <a href="../../../io/wkt/FormattableObject.html#toString(org.apache.sis.io.wkt.Convention)">toString</a>, <a href="../../../io/wkt/FormattableObject.html#toWKT()">toWKT</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class <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">getClass</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">notifyAll</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 <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">toWKT</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a id="<init>()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>AbstractMathTransform</h4> |
| <pre>protected AbstractMathTransform()</pre> |
| <div class="block">Constructor for subclasses.</div> |
| </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="getSourceDimensions()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSourceDimensions</h4> |
| <pre class="methodSignature">public abstract int getSourceDimensions()</pre> |
| <div class="block">Gets the dimension of input points.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#getSourceDimensions()" title="class or interface in org.opengis.referencing.operation" class="externalLink">getSourceDimensions</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the dimension of input points.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../DefaultOperationMethod.html#getSourceDimensions()"><code>DefaultOperationMethod.getSourceDimensions()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getTargetDimensions()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTargetDimensions</h4> |
| <pre class="methodSignature">public abstract int getTargetDimensions()</pre> |
| <div class="block">Gets the dimension of output points.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#getTargetDimensions()" title="class or interface in org.opengis.referencing.operation" class="externalLink">getTargetDimensions</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the dimension of output points.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../DefaultOperationMethod.html#getTargetDimensions()"><code>DefaultOperationMethod.getTargetDimensions()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getParameterDescriptors()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getParameterDescriptors</h4> |
| <pre class="methodSignature">public <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a> getParameterDescriptors()</pre> |
| <div class="block">Returns the parameter descriptors for this math transform, or <code>null</code> if unknown. |
| |
| <div class="note"><b>Relationship with ISO 19111:</b> |
| This method is similar to <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/OperationMethod.html?is-external=true#getParameters()" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>OperationMethod.getParameters()</code></a>, except that typical |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>MathTransform</code></a> implementations return parameters in standard units (usually |
| <a href="../../../measure/Units.html#METRE">metres</a> or |
| <a href="../../../measure/Units.html#DEGREE">decimal degrees</a>). |
| </div></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../parameter/Parameterized.html#getParameterDescriptors()">getParameterDescriptors</a></code> in interface <code><a href="../../../parameter/Parameterized.html" title="interface in org.apache.sis.parameter">Parameterized</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the parameter descriptors for this math transform, or <code>null</code> if unspecified.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../DefaultOperationMethod.html#getParameters()"><code>DefaultOperationMethod.getParameters()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getParameterValues()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getParameterValues</h4> |
| <pre class="methodSignature">public <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> getParameterValues()</pre> |
| <div class="block">Returns the parameter values for this math transform, or <code>null</code> if unknown. |
| This is not necessarily the parameters that the user specified at construction time, |
| since implementations may have applied normalizations. |
| |
| <div class="section">Normalized and contextual parameters</div> |
| Most Apache SIS implementations of map projections perform their calculations on an ellipsoid |
| having a semi-major axis length of 1. In such cases, the group returned by this method contains |
| a <code>"semi_major"</code> parameter with a value of 1. If the real axis length is desired, we need |
| to take in account the context of this math transform, i.e. the scales and offsets applied before |
| and after this transform. This information is provided by <a href="#getContextualParameters()"><code>getContextualParameters()</code></a>.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../parameter/Parameterized.html#getParameterValues()">getParameterValues</a></code> in interface <code><a href="../../../parameter/Parameterized.html" title="interface in org.apache.sis.parameter">Parameterized</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the parameter values for this math transform, or <code>null</code> if unspecified. |
| Note that those parameters may be normalized (e.g. represent a transformation |
| of an ellipsoid of semi-major axis length of 1).</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#getContextualParameters()"><code>getContextualParameters()</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>SingleOperation.getParameterValues()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getContextualParameters()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getContextualParameters</h4> |
| <pre class="methodSignature">protected <a href="ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a> getContextualParameters()</pre> |
| <div class="block">Returns the parameters for a sequence of <cite>normalize</cite> → <code>this</code> → <cite>denormalize</cite> |
| transforms (<i>optional operation</i>). |
| |
| Subclasses can override this method if they choose to split their computation in linear and non-linear parts. |
| Such split is optional: it can leads to better performance (because SIS can concatenate efficiently consecutive |
| linear transforms), but should not change significantly the result (ignoring differences in rounding errors). |
| If a split has been done, then this <code>MathTransform</code> represents only the non-linear step and Apache SIS |
| needs this method for reconstructing the parameters of the complete transform.</div> |
| <dl> |
| <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, or <code>null</code> if unspecified. |
| Callers should not modify the returned parameters, since modifications (if allowed) |
| will generally not be reflected back in this <code>MathTransform</code>.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.6</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isIdentity()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isIdentity</h4> |
| <pre class="methodSignature">public boolean isIdentity()</pre> |
| <div class="block">Tests whether this transform does not move any points. |
| The default implementation always returns <code>false</code>.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#isIdentity()" title="class or interface in org.opengis.referencing.operation" class="externalLink">isIdentity</a></code> in interface <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">MathTransform</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>transform</h4> |
| <pre class="methodSignature">public <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/DirectPosition.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">DirectPosition</a> transform​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/DirectPosition.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">DirectPosition</a> ptSrc, |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/DirectPosition.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">DirectPosition</a> ptDst) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></pre> |
| <div class="block">Transforms the specified <code>ptSrc</code> and stores the result in <code>ptDst</code>. |
| The default implementation performs the following steps: |
| |
| <ul> |
| <li>Ensures that the dimension of the given points are consistent with the |
| <a href="#getSourceDimensions()">source</a> and <a href="#getTargetDimensions()">target dimensions</a> of this math transform.</li> |
| <li>Delegates to the <a href="#transform(double%5B%5D,int,double%5B%5D,int,boolean)"><code>transform(double[], int, double[], int, boolean)</code></a> method.</li> |
| </ul> |
| |
| This method does not update the associated <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/CoordinateReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink"><code>CoordinateReferenceSystem</code></a> value.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>ptSrc</code> - the coordinate point to be transformed.</dd> |
| <dd><code>ptDst</code> - the coordinate point that stores the result of transforming <code>ptSrc</code>, or <code>null</code>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the coordinate point after transforming <code>ptSrc</code> and storing the result in <code>ptDst</code>, |
| or a newly created point if <code>ptDst</code> was null.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/MismatchedDimensionException.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">MismatchedDimensionException</a></code> - if <code>ptSrc</code> or <code>ptDst</code> doesn't have the expected dimension.</dd> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></code> - if the point can not be transformed.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="transform(double[],int,double[],int,boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>transform</h4> |
| <pre class="methodSignature">public abstract <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> transform​(double[] srcPts, |
| int srcOff, |
| double[] dstPts, |
| int dstOff, |
| boolean derivate) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></pre> |
| <div class="block">Transforms a single coordinate point in an array, and optionally computes the transform |
| derivative at that location. Invoking this method is conceptually equivalent to running |
| the following: |
| |
| <blockquote><pre>Matrix derivative = <font color="green">null</font>; |
| <font color="green">if</font> (derivate) { |
| <font color="green">double</font>[] coordinates = Arrays.<b>copyOfRange</b>(srcPts, srcOff, srcOff + <b>getSourceDimensions</b>()); |
| derivative = <font color="green">this</font>.<b>derivative</b>(<font color="green">new</font> <b>GeneralDirectPosition</b>(coordinates)); |
| } |
| <font color="green">this</font>.<b>transform</b>(srcPts, srcOff, dstPts, dstOff, 1); <i><font color="gray">// May overwrite srcPts.</font></i> |
| <font color="green">return</font> derivative;</pre></blockquote> |
| |
| However this method provides two advantages: |
| |
| <ul> |
| <li>It is usually easier to implement for <code>AbstractMathTransform</code> subclasses. |
| The default <a href="#transform(double%5B%5D,int,double%5B%5D,int,int)"><code>transform(double[], int, double[], int, int)</code></a> method implementation will invoke this |
| method in a loop, taking care of the <a href="IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">iteration strategy</a> depending on the |
| argument value.</li> |
| |
| <li>When both the transformed point and its derivative are needed, this method may be significantly faster than |
| invoking the <code>transform</code> and <code>derivative</code> methods separately because many internal calculations are |
| the same. Computing those two information in a single step can help to reduce redundant calculation.</li> |
| </ul> |
| |
| <div class="section">Note for implementers</div> |
| The source and destination may overlap. Consequently, implementers must read all source |
| coordinate values before to start writing the transformed coordinates in the destination array.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>srcPts</code> - the array containing the source coordinate (can not be <code>null</code>).</dd> |
| <dd><code>srcOff</code> - the offset to the point to be transformed in the source array.</dd> |
| <dd><code>dstPts</code> - the array into which the transformed coordinate is returned. May be the same than <code>srcPts</code>. |
| May be <code>null</code> if only the derivative matrix is desired.</dd> |
| <dd><code>dstOff</code> - the offset to the location of the transformed point that is stored in the destination array.</dd> |
| <dd><code>derivate</code> - <code>true</code> for computing the derivative, or <code>false</code> if not needed.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the matrix of the transform derivative at the given source position, |
| or <code>null</code> if the <code>derivate</code> argument is <code>false</code>.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></code> - if the point can not be transformed or |
| if a problem occurred while calculating the derivative.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#derivative(org.opengis.geometry.DirectPosition)"><code>derivative(DirectPosition)</code></a>, |
| <a href="#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)"><code>transform(DirectPosition, DirectPosition)</code></a>, |
| <a href="MathTransforms.html#derivativeAndTransform(org.opengis.referencing.operation.MathTransform,double%5B%5D,int,double%5B%5D,int)"><code>MathTransforms.derivativeAndTransform(MathTransform, double[], int, double[], int)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="transform(double[],int,double[],int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>transform</h4> |
| <pre class="methodSignature">public void transform​(double[] srcPts, |
| int srcOff, |
| double[] dstPts, |
| int dstOff, |
| int numPts) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></pre> |
| <div class="block">Transforms a list of coordinate points. This method is provided for efficiently transforming many points. |
| The supplied array of coordinate values will contain packed coordinate values. |
| |
| <div class="note"><b>Example:</b> if the source dimension is 3, then the coordinates will be packed in this order: |
| (<var>x₀</var>,<var>y₀</var>,<var>z₀</var>, |
| <var>x₁</var>,<var>y₁</var>,<var>z₁</var> …). |
| </div> |
| |
| The default implementation invokes <a href="#transform(double%5B%5D,int,double%5B%5D,int,boolean)"><code>transform(double[], int, double[], int, boolean)</code></a> in a loop, |
| using an <a href="IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform">iteration strategy</a> determined from the arguments for iterating |
| over the points. |
| |
| <div class="note"><b>Implementation note:</b> see <a href="IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform"><code>IterationStrategy</code></a> javadoc for a method skeleton.</div></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(double%5B%5D,int,double%5B%5D,int,int)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>srcPts</code> - the array containing the source point coordinates.</dd> |
| <dd><code>srcOff</code> - the offset to the first point to be transformed in the source array.</dd> |
| <dd><code>dstPts</code> - the array into which the transformed point coordinates are returned. |
| May be the same than <code>srcPts</code>.</dd> |
| <dd><code>dstOff</code> - the offset to the location of the first transformed point that is stored in the destination array.</dd> |
| <dd><code>numPts</code> - the number of point objects to be transformed.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></code> - if a point can not be transformed. Some implementations will stop at the first failure, |
| wile some other implementations will fill the untransformable points with <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">Double.NaN</a> values, |
| continue and throw the exception only at end. Implementations that fall in the later case should set the |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true#getLastCompletedTransform()" title="class or interface in org.opengis.referencing.operation" class="externalLink">last completed transform</a> to <code>this</code>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="transform(float[],int,float[],int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>transform</h4> |
| <pre class="methodSignature">public void transform​(float[] srcPts, |
| int srcOff, |
| float[] dstPts, |
| int dstOff, |
| int numPts) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></pre> |
| <div class="block">Transforms a list of coordinate points. The default implementation delegates |
| to <a href="#transform(double%5B%5D,int,double%5B%5D,int,int)"><code>transform(double[], int, double[], int, int)</code></a> using a temporary array of doubles. |
| |
| <div class="note"><b>Implementation note:</b> see <a href="IterationStrategy.html" title="enum in org.apache.sis.referencing.operation.transform"><code>IterationStrategy</code></a> javadoc for a method skeleton.</div></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(float%5B%5D,int,float%5B%5D,int,int)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>srcPts</code> - the array containing the source point coordinates.</dd> |
| <dd><code>srcOff</code> - the offset to the first point to be transformed in the source array.</dd> |
| <dd><code>dstPts</code> - the array into which the transformed point coordinates are returned. |
| May be the same than <code>srcPts</code>.</dd> |
| <dd><code>dstOff</code> - the offset to the location of the first transformed point that is stored in the destination array.</dd> |
| <dd><code>numPts</code> - the number of point objects to be transformed.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></code> - if a point can't be transformed. Some implementations will stop at the first failure, |
| wile some other implementations will fill the un-transformable points with <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Float.NaN</code></a> values, |
| continue and throw the exception only at end. Implementations that fall in the later case should set |
| the <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true#getLastCompletedTransform()" title="class or interface in org.opengis.referencing.operation" class="externalLink">last completed transform</a> to <code>this</code>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="transform(double[],int,float[],int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>transform</h4> |
| <pre class="methodSignature">public void transform​(double[] srcPts, |
| int srcOff, |
| float[] dstPts, |
| int dstOff, |
| int numPts) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></pre> |
| <div class="block">Transforms a list of coordinate points. The default implementation delegates |
| to <a href="#transform(double%5B%5D,int,double%5B%5D,int,int)"><code>transform(double[], int, double[], int, int)</code></a> using a temporary array of doubles.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(double%5B%5D,int,float%5B%5D,int,int)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>srcPts</code> - the array containing the source point coordinates.</dd> |
| <dd><code>srcOff</code> - the offset to the first point to be transformed in the source array.</dd> |
| <dd><code>dstPts</code> - the array into which the transformed point coordinates are returned.</dd> |
| <dd><code>dstOff</code> - the offset to the location of the first transformed point that is stored in the destination array.</dd> |
| <dd><code>numPts</code> - the number of point objects to be transformed.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></code> - if a point can not be transformed. Some implementations will stop at the first failure, |
| wile some other implementations will fill the untransformable points with <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">Float.NaN</a> values, |
| continue and throw the exception only at end. Implementations that fall in the later case should set the |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true#getLastCompletedTransform()" title="class or interface in org.opengis.referencing.operation" class="externalLink">last completed transform</a> to <code>this</code>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="transform(float[],int,double[],int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>transform</h4> |
| <pre class="methodSignature">public void transform​(float[] srcPts, |
| int srcOff, |
| double[] dstPts, |
| int dstOff, |
| int numPts) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></pre> |
| <div class="block">Transforms a list of coordinate points. The default implementation delegates |
| to <a href="#transform(double%5B%5D,int,double%5B%5D,int,int)"><code>transform(double[], int, double[], int, int)</code></a> using a temporary array of doubles |
| if necessary.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(float%5B%5D,int,double%5B%5D,int,int)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>srcPts</code> - the array containing the source point coordinates.</dd> |
| <dd><code>srcOff</code> - the offset to the first point to be transformed in the source array.</dd> |
| <dd><code>dstPts</code> - the array into which the transformed point coordinates are returned.</dd> |
| <dd><code>dstOff</code> - the offset to the location of the first transformed point that is stored in the destination array.</dd> |
| <dd><code>numPts</code> - the number of point objects to be transformed.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></code> - if a point can not be transformed. Some implementations will stop at the first failure, |
| wile some other implementations will fill the untransformable points with <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">Double.NaN</a> values, |
| continue and throw the exception only at end. Implementations that fall in the later case should set the |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true#getLastCompletedTransform()" title="class or interface in org.opengis.referencing.operation" class="externalLink">last completed transform</a> to <code>this</code>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="derivative(org.opengis.geometry.DirectPosition)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>derivative</h4> |
| <pre class="methodSignature">public <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> derivative​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/DirectPosition.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">DirectPosition</a> point) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></pre> |
| <div class="block">Gets the derivative of this transform at a point. |
| The default implementation performs the following steps: |
| |
| <ul> |
| <li>Ensure that the <code>point</code> dimension is equals to this math transform |
| <a href="#getSourceDimensions()">source dimensions</a>.</li> |
| <li>Copy the coordinate in a temporary array and pass that array to the |
| <a href="#transform(double%5B%5D,int,double%5B%5D,int,boolean)"><code>transform(double[], int, double[], int, boolean)</code></a> method, |
| with the <code>derivate</code> boolean argument set to <code>true</code>.</li> |
| <li>If the later method returned a non-null matrix, returns that matrix. |
| Otherwise throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>TransformException</code></a>.</li> |
| </ul></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#derivative(org.opengis.geometry.DirectPosition)" title="class or interface in org.opengis.referencing.operation" class="externalLink">derivative</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>point</code> - the coordinate point where to evaluate the derivative.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the derivative at the specified point (never <code>null</code>).</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang" class="externalLink">NullPointerException</a></code> - if the derivative depends on coordinate and <code>point</code> is <code>null</code>.</dd> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/MismatchedDimensionException.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">MismatchedDimensionException</a></code> - if <code>point</code> does not have the expected dimension.</dd> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></code> - if the derivative can not be evaluated at the specified point.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="inverse()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>inverse</h4> |
| <pre class="methodSignature">public <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> inverse() |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/NoninvertibleTransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">NoninvertibleTransformException</a></pre> |
| <div class="block">Returns the inverse transform of this object. The default implementation returns |
| <code>this</code> if this transform is an <a href="#isIdentity()">identity</a> transform, |
| or throws an exception otherwise. Subclasses should override this method. |
| |
| <div class="note"><b>Implementation note:</b> the <a href="AbstractMathTransform.Inverse.html" title="class in org.apache.sis.referencing.operation.transform"><code>AbstractMathTransform.Inverse</code></a> inner class can be used as |
| a base for inverse transform implementations.</div></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#inverse()" title="class or interface in org.opengis.referencing.operation" class="externalLink">inverse</a></code> in interface <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">MathTransform</a></code></dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/NoninvertibleTransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">NoninvertibleTransformException</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="tryConcatenate(boolean,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>tryConcatenate</h4> |
| <pre class="methodSignature">protected <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> tryConcatenate​(boolean applyOtherFirst, |
| <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> other, |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransformFactory.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransformFactory</a> factory) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/FactoryException.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">FactoryException</a></pre> |
| <div class="block">Concatenates or pre-concatenates in an optimized way this math transform with the given one, if possible. |
| If an optimization is possible, a new math transform is created to perform the combined transformation. |
| The <code>applyOtherFirst</code> value determines the transformation order as bellow: |
| |
| <ul> |
| <li>If <code>applyOtherFirst</code> is <code>true</code>, then transforming a point |
| <var>p</var> by the combined transform is equivalent to first transforming |
| <var>p</var> by <code>other</code> and then transforming the result by <code>this</code>.</li> |
| <li>If <code>applyOtherFirst</code> is <code>false</code>, then transforming a point |
| <var>p</var> by the combined transform is equivalent to first transforming |
| <var>p</var> by <code>this</code> and then transforming the result by <code>other</code>.</li> |
| </ul> |
| |
| If no optimization is available for the combined transform, then this method returns <code>null</code>. |
| In the later case, the concatenation will be prepared by <a href="DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform"><code>DefaultMathTransformFactory</code></a> using |
| a generic implementation. |
| |
| <p>The default implementation returns the identity transform if the other transform is the inverse |
| of this transform, or returns <code>null</code> otherwise. This method is ought to be overridden |
| by subclasses capable of concatenating some combination of transforms in a special way. |
| <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform"><code>LinearTransform</code></a> implementations do not need to override this method since matrix multiplications |
| will be handled automatically, and this method does not need to handle the <a href="#isIdentity()"><code>isIdentity()</code></a> case.</p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>applyOtherFirst</code> - <code>true</code> if the transformation order is <code>other</code> followed by <code>this</code>, or |
| <code>false</code> if the transformation order is <code>this</code> followed by <code>other</code>.</dd> |
| <dd><code>other</code> - the other math transform to (pre-)concatenate with this transform.</dd> |
| <dd><code>factory</code> - the factory which is (indirectly) invoking this method, or <code>null</code> if none.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the math transforms combined in an optimized way, or <code>null</code> if no such optimization is available.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/FactoryException.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">FactoryException</a></code> - if an error occurred while combining the transforms.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.8</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="DefaultMathTransformFactory.html#createConcatenatedTransform(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)"><code>DefaultMathTransformFactory.createConcatenatedTransform(MathTransform, MathTransform)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="hashCode()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hashCode</h4> |
| <pre class="methodSignature">public final int hashCode()</pre> |
| <div class="block">Returns a hash value for this transform. This method invokes <a href="#computeHashCode()"><code>computeHashCode()</code></a> |
| when first needed and caches the value for future invocations. Subclasses shall override |
| <code>computeHashCode()</code> instead than this method.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the hash code value. This value may change between different execution of the Apache SIS library.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="computeHashCode()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>computeHashCode</h4> |
| <pre class="methodSignature">protected int computeHashCode()</pre> |
| <div class="block">Computes a hash value for this transform. This method is invoked by <a href="#hashCode()"><code>hashCode()</code></a> when first needed.</div> |
| <dl> |
| <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)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre class="methodSignature">public final boolean equals​(<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> object)</pre> |
| <div class="block">Compares the specified object with this math transform for strict equality. |
| This method is implemented as below (omitting assertions): |
| |
| <blockquote><pre><font color="green">return</font> <b>equals</b>(other, ComparisonMode.STRICT);</pre></blockquote></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../util/LenientComparable.html#equals(java.lang.Object)">equals</a></code> in interface <code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a></code></dd> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>object</code> - the object to compare with this transform.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>true</code> if the given object is a transform of the same class and using the same parameter values.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../util/ComparisonMode.html#STRICT"><code>ComparisonMode.STRICT</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 boolean equals​(<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> object, |
| <a href="../../../util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a> mode)</pre> |
| <div class="block">Compares the specified object with this math transform for equality. |
| Two math transforms are considered equal if, given identical source positions, their |
| <a href="#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)">transformed</a> positions would be |
| equal or <a href="../../../util/ComparisonMode.html#APPROXIMATE"><code>approximately</code></a> equal. |
| This method may conservatively returns <code>false</code> if unsure. |
| |
| <p>The default implementation returns <code>true</code> if the following conditions are met:</p> |
| <ul> |
| <li><code>object</code> is an instance of the same class than <code>this</code>. We require the |
| same class because there is no interface for the various kinds of transform.</li> |
| <li>If the hash code value has already been <a href="#computeHashCode()">computed</a> for both |
| instances, their values are the same <i>(opportunist performance enhancement)</i>.</li> |
| <li>The <a href="#getContextualParameters()">contextual parameters</a> are equal according |
| the given comparison mode.</li> |
| </ul></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> in interface <code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</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.deepEquals(Object, Object, ComparisonMode)</code></a></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 <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> formatTo​(<a href="../../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a> formatter)</pre> |
| <div class="block">Formats the inner part of a <cite>Well Known Text</cite> version 1 (WKT 1) element. |
| The default implementation formats all parameter values returned by <a href="#getParameterValues()"><code>getParameterValues()</code></a>. |
| The parameter group name is used as the math transform name. |
| |
| <div class="note"><b>Compatibility note:</b> |
| <code>Param_MT</code> is defined in the WKT 1 specification only. |
| If the <a href="../../../io/wkt/Formatter.html#getConvention()">formatter convention</a> is set to WKT 2, |
| then this method silently uses the WKT 1 convention without raising an error |
| (unless this <code>MathTransform</code> can not be formatted as valid WKT 1 neither).</div></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../io/wkt/FormattableObject.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo</a></code> in class <code><a href="../../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>formatter</code> - the formatter to use.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the WKT element name, which is <code>"Param_MT"</code> in the default implementation.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../io/wkt/FormattableObject.html#toWKT()"><code>FormattableObject.toWKT()</code></a>, |
| <a href="../../../io/wkt/FormattableObject.html#toString()"><code>FormattableObject.toString()</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/AbstractMathTransform.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 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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 © 2010–2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </body> |
| </html> |