<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>MathTransforms (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.MathTransforms class">
<meta name="keywords" content="identity()">
<meta name="keywords" content="uniformTranslation()">
<meta name="keywords" content="translation()">
<meta name="keywords" content="scale()">
<meta name="keywords" content="linear()">
<meta name="keywords" content="interpolate()">
<meta name="keywords" content="specialize()">
<meta name="keywords" content="passThrough()">
<meta name="keywords" content="compound()">
<meta name="keywords" content="concatenate()">
<meta name="keywords" content="getSteps()">
<meta name="keywords" content="getMatrix()">
<meta name="keywords" content="derivativeAndTransform()">
<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="MathTransforms (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/MathTransforms.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>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 MathTransforms" class="title">Class MathTransforms</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="../../../util/Static.html" title="class in org.apache.sis.util">Static</a></li>
<li>
<ul class="inheritance">
<li>MathTransforms</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public final class <span class="typeNameLabel">MathTransforms</span>
extends <a href="../../../util/Static.html" title="class in org.apache.sis.util">Static</a></pre>
<div class="block">Utility methods creating or working on <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform</code></a> instances.
 This class centralizes in one place some of the most commonly used functions this package.
 The <code>Math­Transforms</code> class provides the following services:

 <ul>
   <li>Create various SIS implementations of <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform</code></a>.</li>
   <li>Perform non-standard operations on arbitrary instances.</li>
 </ul>

 The factory static methods are provided as convenient alternatives to the GeoAPI <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"><code>Math­Transform­Factory</code></a>
 interface. However users seeking for more implementation neutrality are encouraged to limit themselves to the
 GeoAPI factory interfaces instead.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><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"><code>Math­Transform­Factory</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">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="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="#compound(org.opengis.referencing.operation.MathTransform...)">compound</a></span>&#8203;(<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>...&nbsp;components)</code></th>
<td class="colLast">
<div class="block">Puts together a list of independent math transforms, each of them operating on a subset of coordinate values.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#concatenate(org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D)">concatenate</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr1,
           <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr2)</code></th>
<td class="colLast">
<div class="block">Concatenates the given one-dimensional transforms.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#concatenate(org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D)">concatenate</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr1,
           <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr2,
           <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr3)</code></th>
<td class="colLast">
<div class="block">Concatenates the three given one-dimensional transforms.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#concatenate(org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D)">concatenate</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr1,
           <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr2)</code></th>
<td class="colLast">
<div class="block">Concatenates the given two-dimensional transforms.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#concatenate(org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D)">concatenate</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr1,
           <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr2,
           <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr3)</code></th>
<td class="colLast">
<div class="block">Concatenates the three given two-dimensional transforms.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static <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="#concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)">concatenate</a></span>&#8203;(<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>&nbsp;tr1,
           <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>&nbsp;tr2)</code></th>
<td class="colLast">
<div class="block">Concatenates the two given transforms.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static <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="#concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)">concatenate</a></span>&#8203;(<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>&nbsp;tr1,
           <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>&nbsp;tr2,
           <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>&nbsp;tr3)</code></th>
<td class="colLast">
<div class="block">Concatenates the three given transforms.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <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="#derivativeAndTransform(org.opengis.referencing.operation.MathTransform,double%5B%5D,int,double%5B%5D,int)">derivativeAndTransform</a></span>&#8203;(<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>&nbsp;transform,
                      double[]&nbsp;srcPts,
                      int&nbsp;srcOff,
                      double[]&nbsp;dstPts,
                      int&nbsp;dstOff)</code></th>
<td class="colLast">
<div class="block">A buckle method for calculating derivative and coordinate transformation in a single step.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <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="#getMatrix(org.opengis.referencing.operation.MathTransform)">getMatrix</a></span>&#8203;(<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>&nbsp;transform)</code></th>
<td class="colLast">
<div class="block">If the given transform is linear, returns its coefficients as a matrix.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <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="#getMatrix(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.DirectPosition)">getMatrix</a></span>&#8203;(<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>&nbsp;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>&nbsp;position)</code></th>
<td class="colLast">
<div class="block">Returns the coefficients of an affine transform in the vicinity of the given position.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<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>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSteps(org.opengis.referencing.operation.MathTransform)">getSteps</a></span>&#8203;(<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>&nbsp;transform)</code></th>
<td class="colLast">
<div class="block">Returns all single components of the given (potentially concatenated) transform.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identity(int)">identity</a></span>&#8203;(int&nbsp;dimension)</code></th>
<td class="colLast">
<div class="block">Returns an identity transform of the specified dimension.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#interpolate(double%5B%5D,double%5B%5D)">interpolate</a></span>&#8203;(double[]&nbsp;preimage,
           double[]&nbsp;values)</code></th>
<td class="colLast">
<div class="block">Creates a transform for the <i>y=f(x)</i> function where <var>y</var> are computed by a linear interpolation.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linear(double,double)">linear</a></span>&#8203;(double&nbsp;scale,
      double&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Creates a one-dimensional affine transform for the given coefficients.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linear(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.DirectPosition)">linear</a></span>&#8203;(<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>&nbsp;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>&nbsp;position)</code></th>
<td class="colLast">
<div class="block">Returns a linear (usually affine) transform which approximates the given transform in the vicinity of the given position.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#linear(org.opengis.referencing.operation.Matrix)">linear</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a>&nbsp;matrix)</code></th>
<td class="colLast">
<div class="block">Creates an arbitrary linear transform from the specified matrix.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static <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="#passThrough(int,org.opengis.referencing.operation.MathTransform,int)">passThrough</a></span>&#8203;(int&nbsp;firstAffectedCoordinate,
           <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>&nbsp;subTransform,
           int&nbsp;numTrailingCoordinates)</code></th>
<td class="colLast">
<div class="block">Creates a transform which passes through a subset of coordinates to another transform.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scale(double...)">scale</a></span>&#8203;(double...&nbsp;factors)</code></th>
<td class="colLast">
<div class="block">Creates an affine transform which applies the given scale.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static <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="#specialize(org.opengis.referencing.operation.MathTransform,java.util.Map)">specialize</a></span>&#8203;(<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>&nbsp;global,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/Envelope.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">Envelope</a>,&#8203;<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>&gt;&nbsp;specializations)</code></th>
<td class="colLast">
<div class="block">Creates a transform defined as one transform applied globally except in sub-areas where more accurate
 transforms are available.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#translation(double...)">translation</a></span>&#8203;(double...&nbsp;vector)</code></th>
<td class="colLast">
<div class="block">Creates an affine transform which applies the given translation.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#uniformTranslation(int,double)">uniformTranslation</a></span>&#8203;(int&nbsp;dimension,
                  double&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Creates an affine transform which applies the same translation for all dimensions.</div>
</td>
</tr>
</table>
<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#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</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#hashCode()" title="class or interface in java.lang" class="externalLink">hash­Code</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#toString()" title="class or interface in java.lang" class="externalLink">to­String</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>
</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="identity(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identity</h4>
<pre class="methodSignature">public static&nbsp;<a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a>&nbsp;identity&#8203;(int&nbsp;dimension)</pre>
<div class="block">Returns an identity transform of the specified dimension.

 <p>Special cases:</p>
 <ul>
   <li>If <code>dimension == 1</code>, then the returned transform implements <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform1D</code></a>.</li>
   <li>If <code>dimension == 2</code>, then the returned transform implements <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform2D</code></a>.</li>
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dimension</code> - number of dimensions of the transform to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an identity transform of the specified dimension.</dd>
</dl>
</li>
</ul>
<a id="uniformTranslation(int,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uniformTranslation</h4>
<pre class="methodSignature">public static&nbsp;<a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a>&nbsp;uniformTranslation&#8203;(int&nbsp;dimension,
                                                 double&nbsp;offset)</pre>
<div class="block">Creates an affine transform which applies the same translation for all dimensions.
 For each dimension, input values <var>x</var> are converted into output values <var>y</var>
 using the following equation:

 <blockquote><var>y</var> = <var>x</var> + <code>offset</code></blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dimension</code> - number of input and output dimensions.</dd>
<dd><code>offset</code> - the <code>offset</code> term in the linear equation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an affine transform applying the specified translation.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</li>
</ul>
<a id="translation(double...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>translation</h4>
<pre class="methodSignature">public static&nbsp;<a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a>&nbsp;translation&#8203;(double...&nbsp;vector)</pre>
<div class="block">Creates an affine transform which applies the given translation.
 The source and target dimensions of the transform are the length of the given vector.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vector</code> - the translation vector.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an affine transform applying the specified translation.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</li>
</ul>
<a id="scale(double...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scale</h4>
<pre class="methodSignature">public static&nbsp;<a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a>&nbsp;scale&#8203;(double...&nbsp;factors)</pre>
<div class="block">Creates an affine transform which applies the given scale.
 The source and target dimensions of the transform are the length of the given vector.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>factors</code> - the scale factors.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an affine transform applying the specified scales.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</li>
</ul>
<a id="linear(double,double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linear</h4>
<pre class="methodSignature">public static&nbsp;<a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a>&nbsp;linear&#8203;(double&nbsp;scale,
                                     double&nbsp;offset)</pre>
<div class="block">Creates a one-dimensional affine transform for the given coefficients.
 Input values <var>x</var> will be converted into output values <var>y</var> using the following equation:

 <blockquote><var>y</var>  =  <var>x</var> ⋅ <code>scale</code> + <code>offset</code></blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scale</code> - the <code>scale</code>  term in the linear equation.</dd>
<dd><code>offset</code> - the <code>offset</code> term in the linear equation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the linear transform for the given scale and offset.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../measure/Units.html#converter(java.lang.Number,java.lang.Number)"><code>Units​.converter(Number, Number)</code></a></dd>
</dl>
</li>
</ul>
<a id="linear(org.opengis.referencing.operation.Matrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linear</h4>
<pre class="methodSignature">public static&nbsp;<a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a>&nbsp;linear&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a>&nbsp;matrix)</pre>
<div class="block">Creates an arbitrary linear transform from the specified matrix. Usually the matrix
 <a href="../matrix/MatrixSIS.html#isAffine()">is affine</a>,
 but this is not mandatory. Non-affine matrix will define a projective transform.

 <p>If the transform input dimension is <code>M</code>, and output dimension is <code>N</code>,
 then the given matrix shall have size <code>[N+1][M+1]</code>.
 The +1 in the matrix dimensions allows the matrix to do a shift, as well as a rotation.
 The <code>[M][j]</code> element of the matrix will be the <var>j</var>'th coordinate of the moved origin.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>matrix</code> - the matrix used to define the linear transform.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the linear (usually affine) transform.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getMatrix(org.opengis.referencing.operation.MathTransform)"><code>get­Matrix(Math­Transform)</code></a>, 
<a href="DefaultMathTransformFactory.html#createAffineTransform(org.opengis.referencing.operation.Matrix)"><code>Default­Math­Transform­Factory​.create­Affine­Transform(Matrix)</code></a></dd>
</dl>
</li>
</ul>
<a id="linear(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.DirectPosition)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>linear</h4>
<pre class="methodSignature">public static&nbsp;<a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform">LinearTransform</a>&nbsp;linear&#8203;(<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>&nbsp;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>&nbsp;position)
                              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">Returns a linear (usually affine) transform which approximates the given transform in the vicinity of the given position.
 If the given transform is already an instance of <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform"><code>Linear­Transform</code></a>, then it is returned as-is.
 Otherwise an approximation for the given position is created using the
 <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">transform derivative</a> at that position.

 <p><b>Invariant:</b> transforming the given <code>position</code> using the given <code>transform</code> produces the same result
 (ignoring rounding error) than transforming the same <code>position</code> using the returned transform. This invariant holds
 only for that particular position; the transformation of any other positions may produce different results.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>transform</code> - the transform to approximate by an affine transform.</dd>
<dd><code>position</code> - position in source CRS around which to get the an affine transform approximation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a transform approximating the given transform around the given position.</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">Transform­Exception</a></code> - if an error occurred while transforming the given position
         or computing the derivative at that position.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getMatrix(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.DirectPosition)"><code>get­Matrix(Math­Transform, Direct­Position)</code></a></dd>
</dl>
</li>
</ul>
<a id="interpolate(double[],double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interpolate</h4>
<pre class="methodSignature">public static&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;interpolate&#8203;(double[]&nbsp;preimage,
                                          double[]&nbsp;values)</pre>
<div class="block">Creates a transform for the <i>y=f(x)</i> function where <var>y</var> are computed by a linear interpolation.
 Both <code>preimage</code> (the <var>x</var>) and <code>values</code> (the <var>y</var>) arguments can be null:

 <ul>
   <li>If both <code>preimage</code> and <code>values</code> arrays are non-null, then they must have the same length.</li>
   <li>If both <code>preimage</code> and <code>values</code> arrays are null, then this method returns the identity transform.</li>
   <li>If only <code>preimage</code> is null, then the <var>x</var> values are taken as {0, 1, 2, …, <code>values​.length</code> - 1}.</li>
   <li>If only <code>values</code> is null, then the <var>y</var> values are taken as {0, 1, 2, …, <code>preimage​.length</code> - 1}.</li>
 </ul>

 All <code>preimage</code> elements shall be real numbers (not NaN) sorted in increasing or decreasing order.
 Elements in the <code>values</code> array do not need to be ordered, but the returned transform will be invertible
 only if all values are real numbers sorted in increasing or decreasing order.
 Furthermore the returned transform is affine (i.e. implement the <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform"><code>Linear­Transform</code></a> interface)
 if the interval between each <code>preimage</code> and <code>values</code> element is constant.

 <p>The current implementation uses linear interpolation. This may be changed in a future SIS version.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>preimage</code> - the input values (<var>x</var>) in the function domain, or <code>null</code>.</dd>
<dd><code>values</code> - the output values (<var>y</var>) in the function range, or <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <i>y=f(x)</i> function.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.7</dd>
</dl>
</li>
</ul>
<a id="specialize(org.opengis.referencing.operation.MathTransform,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>specialize</h4>
<pre class="methodSignature">public static&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>&nbsp;specialize&#8203;(<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>&nbsp;global,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/Envelope.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">Envelope</a>,&#8203;<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>&gt;&nbsp;specializations)</pre>
<div class="block">Creates a transform defined as one transform applied globally except in sub-areas where more accurate
 transforms are available. Such constructs appear in some datum shift files. The result of transforming
 a point by the returned <code>Math­Transform</code> is as if iterating over all given <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/Envelope.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink"><code>Envelope</code></a>s in
 no particular order, find the smallest one containing the point to transform (envelope border considered
 inclusive), then use the associated <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform</code></a> for transforming the point.
 If the point is not found in any envelope, then the global transform is applied.

 <p>The following constraints apply:</p>
 <ul>
   <li>The global transform must be a reasonable approximation of the specialized transforms
       (this is required for calculating the inverse transform).</li>
   <li>All transforms in the <code>specializations</code> map must have the same number of source and target
       dimensions than the <code>global</code> transform.</li>
   <li>All envelopes in the <code>specializations</code> map must have the same number of dimensions
       than the global transform <em>source</em> dimensions.</li>
   <li>In current implementation, each envelope must either be fully included in another envelope,
       or not overlap any other envelope.</li>
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>global</code> - the transform to use globally where there is no suitable specialization.</dd>
<dd><code>specializations</code> - more accurate transforms available in some sub-areas.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a transform applying the given global transform except in sub-areas where specializations are available.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if a constraint is not met.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</li>
</ul>
<a id="passThrough(int,org.opengis.referencing.operation.MathTransform,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>passThrough</h4>
<pre class="methodSignature">public static&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>&nbsp;passThrough&#8203;(int&nbsp;firstAffectedCoordinate,
                                        <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>&nbsp;subTransform,
                                        int&nbsp;numTrailingCoordinates)</pre>
<div class="block">Creates a transform which passes through a subset of coordinates to another transform.
 This method returns a transform having the following dimensions:

 <blockquote><pre>Source: firstAffectedCoordinate + subTransform.<b>getSourceDimensions</b>() + numTrailingCoordinates
Target: firstAffectedCoordinate + subTransform.<b>getTargetDimensions</b>() + numTrailingCoordinates</pre></blockquote>

 Affected coordinates will range from <code>first­Affected­Coordinate</code> inclusive to
 <code>dim­Target - num­Trailing­Coordinates</code> exclusive.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>first­Affected­Coordinate</code> - index of the first affected coordinate.</dd>
<dd><code>sub­Transform</code> - the sub-transform to apply on modified coordinates.</dd>
<dd><code>num­Trailing­Coordinates</code> - number of trailing coordinates to pass through.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a pass-through transform, potentially as a <a href="PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>Pass­Through­Transform</code></a> instance but not necessarily.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
</dl>
</li>
</ul>
<a id="compound(org.opengis.referencing.operation.MathTransform...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compound</h4>
<pre class="methodSignature">public static&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>&nbsp;compound&#8203;(<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>...&nbsp;components)</pre>
<div class="block">Puts together a list of independent math transforms, each of them operating on a subset of coordinate values.
 This method is often used for defining 4-dimensional (<var>x</var>,<var>y</var>,<var>z</var>,<var>t</var>)
 transform as an aggregation of 3 simpler transforms operating on (<var>x</var>,<var>y</var>), (<var>z</var>)
 and (<var>t</var>) values respectively.

 <p>Invariants:</p>
 <ul>
   <li>The <a href="AbstractMathTransform.html#getSourceDimensions()">source dimensions</a> of the returned transform
       is equals to the sum of the source dimensions of all given transforms.</li>
   <li>The <a href="AbstractMathTransform.html#getTargetDimensions()">target dimensions</a> of the returned transform
       is equals to the sum of the target dimensions of all given transforms.</li>
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>components</code> - the transforms to aggregate in a single transform, in the given order.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the aggregation of all given transforms, or <code>null</code> if the given <code>components</code> array was empty.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.6</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="PassThroughTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>Pass­Through­Transform</code></a>, 
<a href="../../CRS.html#compound(org.opengis.referencing.crs.CoordinateReferenceSystem...)"><code>CRS​.compound(Coordinate­Reference­System...)</code></a>, 
<a href="../../../geometry/Envelopes.html#compound(org.opengis.geometry.Envelope...)"><code>Envelopes​.compound(Envelope...)</code></a></dd>
</dl>
</li>
</ul>
<a id="concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>concatenate</h4>
<pre class="methodSignature">public static&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>&nbsp;concatenate&#8203;(<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>&nbsp;tr1,
                                        <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>&nbsp;tr2)
                                 throws <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></pre>
<div class="block">Concatenates the two given transforms. The returned transform will implement
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform1D</code></a> or <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform2D</code></a> if the dimensions of the
 concatenated transform are equal to 1 or 2 respectively.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tr1</code> - the first math transform.</dd>
<dd><code>tr2</code> - the second math transform.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the concatenated transform.</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">Mismatched­Dimension­Exception</a></code> - if the output dimension of the first transform
         does not match the input dimension of the second transform.</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>Default­Math­Transform­Factory​.create­Concatenated­Transform(Math­Transform, Math­Transform)</code></a></dd>
</dl>
</li>
</ul>
<a id="concatenate(org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>concatenate</h4>
<pre class="methodSignature">public static&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;concatenate&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr1,
                                          <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr2)
                                   throws <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></pre>
<div class="block">Concatenates the given one-dimensional transforms. This is a convenience methods
 delegating to <a href="#concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)"><code>concatenate(Math­Transform, Math­Transform)</code></a> and casting the
 result to a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform1D</code></a> instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tr1</code> - the first math transform.</dd>
<dd><code>tr2</code> - the second math transform.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the concatenated transform.</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">Mismatched­Dimension­Exception</a></code> - if the output dimension of the first transform
         does not match the input dimension of the second transform.</dd>
</dl>
</li>
</ul>
<a id="concatenate(org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>concatenate</h4>
<pre class="methodSignature">public static&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;concatenate&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr1,
                                          <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr2)
                                   throws <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></pre>
<div class="block">Concatenates the given two-dimensional transforms. This is a convenience methods
 delegating to <a href="#concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)"><code>concatenate(Math­Transform, Math­Transform)</code></a> and casting the
 result to a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform2D</code></a> instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tr1</code> - the first math transform.</dd>
<dd><code>tr2</code> - the second math transform.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the concatenated transform.</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">Mismatched­Dimension­Exception</a></code> - if the output dimension of the first transform
         does not match the input dimension of the second transform.</dd>
</dl>
</li>
</ul>
<a id="concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>concatenate</h4>
<pre class="methodSignature">public static&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>&nbsp;concatenate&#8203;(<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>&nbsp;tr1,
                                        <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>&nbsp;tr2,
                                        <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>&nbsp;tr3)
                                 throws <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></pre>
<div class="block">Concatenates the three given transforms. This is a convenience methods doing its job
 as two consecutive concatenations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tr1</code> - the first math transform.</dd>
<dd><code>tr2</code> - the second math transform.</dd>
<dd><code>tr3</code> - the third math transform.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the concatenated transform.</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">Mismatched­Dimension­Exception</a></code> - if the output dimension of a transform
         does not match the input dimension of next transform.</dd>
</dl>
</li>
</ul>
<a id="concatenate(org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D,org.opengis.referencing.operation.MathTransform1D)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>concatenate</h4>
<pre class="methodSignature">public static&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;concatenate&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr1,
                                          <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr2,
                                          <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&nbsp;tr3)
                                   throws <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></pre>
<div class="block">Concatenates the three given one-dimensional transforms. This is a convenience methods
 delegating to <a href="#concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)"><code>concatenate(Math­Transform, Math­Transform, Math­Transform)</code></a> and
 casting the result to a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform1D</code></a> instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tr1</code> - the first math transform.</dd>
<dd><code>tr2</code> - the second math transform.</dd>
<dd><code>tr3</code> - the third math transform.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the concatenated transform.</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">Mismatched­Dimension­Exception</a></code> - if the output dimension of a transform
         does not match the input dimension of next transform.</dd>
</dl>
</li>
</ul>
<a id="concatenate(org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D,org.opengis.referencing.operation.MathTransform2D)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>concatenate</h4>
<pre class="methodSignature">public static&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;concatenate&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr1,
                                          <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr2,
                                          <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform2D</a>&nbsp;tr3)
                                   throws <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></pre>
<div class="block">Concatenates the three given two-dimensional transforms. This is a convenience methods
 delegating to <a href="#concatenate(org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransform)"><code>concatenate(Math­Transform, Math­Transform, Math­Transform)</code></a> and
 casting the result to a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink"><code>Math­Transform2D</code></a> instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tr1</code> - the first math transform.</dd>
<dd><code>tr2</code> - the second math transform.</dd>
<dd><code>tr3</code> - the third math transform.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the concatenated transform.</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">Mismatched­Dimension­Exception</a></code> - if the output dimension of a transform
         does not match the input dimension of next transform.</dd>
</dl>
</li>
</ul>
<a id="getSteps(org.opengis.referencing.operation.MathTransform)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSteps</h4>
<pre class="methodSignature">public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<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>&gt;&nbsp;getSteps&#8203;(<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>&nbsp;transform)</pre>
<div class="block">Returns all single components of the given (potentially concatenated) transform.
 This method makes the following choice:

 <ul>
   <li>If <code>transform</code> is <code>null</code>, returns an empty list.</li>
   <li>Otherwise if <code>transform</code> is the result of a call to a <code>concatenate(…)</code> method,
       returns all components. All nested concatenated transforms (if any) will be flattened.</li>
   <li>Otherwise returns the given transform in a list of size 1.</li>
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>transform</code> - the transform for which to get the components, or <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>all single math transforms performed by this concatenated transform.</dd>
</dl>
</li>
</ul>
<a id="getMatrix(org.opengis.referencing.operation.MathTransform)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatrix</h4>
<pre class="methodSignature">public static&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a>&nbsp;getMatrix&#8203;(<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>&nbsp;transform)</pre>
<div class="block">If the given transform is linear, returns its coefficients as a matrix.
 More specifically:

 <ul>
   <li>If the given transform is an instance of <a href="LinearTransform.html" title="interface in org.apache.sis.referencing.operation.transform"><code>Linear­Transform</code></a>,
       returns <a href="LinearTransform.html#getMatrix()"><code>Linear­Transform​.get­Matrix()</code></a>.</li>
   <li>Otherwise if the given transform is an instance of <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/geom/AffineTransform.html?is-external=true" title="class or interface in java.awt.geom" class="externalLink"><code>Affine­Transform</code></a>,
       returns its coefficients in a <a href="../matrix/Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix"><code>Matrix3</code></a> instance.</li>
   <li>Otherwise returns <code>null</code>.</li>
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>transform</code> - the transform for which to get the matrix, or <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the matrix of the given transform, or <code>null</code> if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#linear(org.opengis.referencing.operation.Matrix)"><code>linear(Matrix)</code></a>, 
<a href="LinearTransform.html#getMatrix()"><code>Linear­Transform​.get­Matrix()</code></a></dd>
</dl>
</li>
</ul>
<a id="getMatrix(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.DirectPosition)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatrix</h4>
<pre class="methodSignature">public static&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a>&nbsp;getMatrix&#8203;(<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>&nbsp;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>&nbsp;position)
                        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">Returns the coefficients of an affine transform in the vicinity of the given position.
 If the given transform is linear, then this method produces a result identical to <a href="#getMatrix(org.opengis.referencing.operation.MathTransform)"><code>get­Matrix(Math­Transform)</code></a>.
 Otherwise the returned matrix can be used for <a href="#linear(org.opengis.referencing.operation.Matrix)">building a linear transform</a> which can be
 used as an approximation of the given transform for short distances around the given position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>transform</code> - the transform to approximate by an affine transform.</dd>
<dd><code>position</code> - position in source CRS around which to get the coefficients of an affine transform approximation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the matrix of the given transform around the given position.</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">Transform­Exception</a></code> - if an error occurred while transforming the given position or computing the derivative at
         that position.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#linear(org.opengis.referencing.operation.MathTransform,org.opengis.geometry.DirectPosition)"><code>linear(Math­Transform, Direct­Position)</code></a></dd>
</dl>
</li>
</ul>
<a id="derivativeAndTransform(org.opengis.referencing.operation.MathTransform,double[],int,double[],int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>derivativeAndTransform</h4>
<pre class="methodSignature">public static&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a>&nbsp;derivativeAndTransform&#8203;(<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>&nbsp;transform,
                                            double[]&nbsp;srcPts,
                                            int&nbsp;srcOff,
                                            double[]&nbsp;dstPts,
                                            int&nbsp;dstOff)
                                     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">A buckle method for calculating derivative and coordinate transformation in a single step.
 The transform result is stored in the given destination array, and the derivative matrix
 is returned. Invoking this method is equivalent to the following code, except that it may
 execute faster with some <code>Math­Transform</code> implementations:

 <blockquote><pre>DirectPosition ptSrc = ...;
DirectPosition ptDst = ...;
Matrix matrixDst = <b>derivative</b>(ptSrc);
ptDst = <b>transform</b>(ptSrc, ptDst);</pre></blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>transform</code> - the transform to use.</dd>
<dd><code>src­Pts</code> - the array containing the source coordinate.</dd>
<dd><code>src­Off</code> - the offset to the point to be transformed in the source array.</dd>
<dd><code>dst­Pts</code> - the array into which the transformed coordinate is returned.</dd>
<dd><code>dst­Off</code> - the offset to the location of the transformed point that is stored in the destination array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the matrix of the transform derivative at the given source position.</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">Transform­Exception</a></code> - if the point can't be transformed or if a problem occurred
         while calculating the derivative.</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/MathTransforms.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>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>
