| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 --> |
| <title>ContextualParameters (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.ContextualParameters class"> |
| <meta name="keywords" content="getDescriptor()"> |
| <meta name="keywords" content="getMatrix()"> |
| <meta name="keywords" content="normalizeGeographicInputs()"> |
| <meta name="keywords" content="denormalizeGeographicOutputs()"> |
| <meta name="keywords" content="completeTransform()"> |
| <meta name="keywords" content="parameter()"> |
| <meta name="keywords" content="values()"> |
| <meta name="keywords" content="groups()"> |
| <meta name="keywords" content="addGroup()"> |
| <meta name="keywords" content="clone()"> |
| <meta name="keywords" content="hashCode()"> |
| <meta name="keywords" content="equals()"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../sis.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../../../jquery/jquery-3.3.1.js"></script> |
| <script type="text/javascript" src="../../../../../../jquery/jquery-migrate-3.0.1.js"></script> |
| <script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="ContextualParameters (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":10,"i9":10,"i10":10,"i11":10}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| var pathtoroot = "../../../../../../"; |
| var useModuleDirectories = false; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <header role="banner"> |
| <nav role="navigation"> |
| <div class="fixedNav"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a id="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/ContextualParameters.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 ContextualParameters" class="title">Class ContextualParameters</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="../../../parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>ContextualParameters</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Cloneable</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterValue.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterValue</a></code>, <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></dd> |
| </dl> |
| <hr> |
| <pre>public class <span class="typeNameLabel">ContextualParameters</span> |
| extends <a href="../../../parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a> |
| implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></pre> |
| <div class="block">The parameters that describe a sequence of |
| <cite>normalize</cite> → <cite>non-linear kernel</cite> → <cite>denormalize</cite> transforms as a whole. |
| The normalize and denormalize steps must be affine transforms, while the non-linear kernel is arbitrary. |
| |
| <div class="note"><b>Note:</b> actually there is nothing in this class which force the kernel to be non-linear. |
| But this class is useless if the kernel is linear, because 3 linear steps can be efficiently |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/geom/AffineTransform.html?is-external=true#concatenate(java.awt.geom.AffineTransform)" title="class or interface in java.awt.geom" class="externalLink">concatenated</a> in a single affine transform.</div> |
| |
| <p>Contextual parameters can be <a href="AbstractMathTransform.html#getContextualParameters()">associated</a> |
| to the <cite>non-linear kernel</cite> step of the above-cited sequence. |
| Since the <a href="AbstractMathTransform.html#getParameterValues()">parameter values</a> of the non-linear kernel contains |
| only normalized parameters (e.g. a map projection on an ellipsoid having a <cite>semi-major</cite> axis length of 1), |
| Apache SIS needs contextual information for reconstructing the parameters of the complete transforms chain.</p> |
| |
| <div class="section">Usage in map projections</div> |
| This object is used mostly for Apache SIS implementation of map projections, where the non-linear kernel is a |
| <a href="../projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">normalized projection</a>. |
| The <a href="#completeTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.operation.MathTransform)">complete map projection</a> |
| (ignoring <a href="../../cs/CoordinateSystems.html#swapAndScaleAxes(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.CoordinateSystem)">changes of axis order</a>) |
| is a chain of 3 transforms as shown below: |
| |
| <div class="horizontal-flow" style="align-items:center"> |
| <div> <math display="block" alttext="MathML capable browser required"> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr> |
| <mtd><mi>π</mi><mo>/</mo><mn>180</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mo>-</mo><msub><mi>λ</mi><mn>0</mn></msub> <mo>⋅</mo> <mo>(</mo><mi>π</mi><mo>/</mo><mn>180</mn><mo>)</mo></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mi>π</mi><mo>/</mo><mn>180</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>1</mn></mtd> |
| </mtr> |
| </mtable> |
| </mfenced> |
| </math> |
| |
| |
| |
| |
| </div> |
| <div>→</div> |
| <div>Map projection on a normalized ellipsoid</div> |
| <div>→</div> |
| <div> <math display="block" alttext="MathML capable browser required"> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr> |
| <mtd><mi>a</mi> <mo>⋅</mo> <msub><mi>k</mi><mn>0</mn></msub></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mi>FE</mi></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mi>a</mi> <mo>⋅</mo> <msub><mi>k</mi><mn>0</mn></msub></mtd> |
| <mtd><mi>FN</mi></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>1</mn></mtd> |
| </mtr> |
| </mtable> |
| </mfenced> |
| </math> |
| </div> |
| </div> |
| |
| <code>ContextualParameters</code> is typically created and used as below: |
| |
| <ol class="verbose"> |
| <li>A <a href="MathTransformProvider.html" title="interface in org.apache.sis.referencing.operation.transform"><code>MathTransformProvider</code></a> instantiates a class from the |
| <a href="../projection/package-summary.html">map projection package</a>. |
| Note that different providers may instantiate the same map projection class. |
| For example both <cite>"Mercator (variant A)"</cite> and <cite>"Mercator (variant B)"</cite> methods |
| instantiate the same <a href="../projection/Mercator.html" title="class in org.apache.sis.referencing.operation.projection"><code>Mercator</code></a> class, |
| but with different ways to represent the parameters.</li> |
| |
| <li>The map projection constructor fetches all parameters that it needs from the user-supplied |
| <a href="../../../parameter/Parameters.html" title="class in org.apache.sis.parameter"><code>Parameters</code></a>, initializes the projection, then saves the parameter values that |
| it actually used in a new <code>ContextualParameters</code> instance.</li> |
| |
| <li>The map projection constructor may keep only the non-linear parameters for itself, |
| and gives the linear parameters to the <a href="#normalizeGeographicInputs(double)"><code>normalizeGeographicInputs(…)</code></a> and |
| <a href="../matrix/MatrixSIS.html#convertAfter(int,java.lang.Number,java.lang.Number)"><code>MatrixSIS.convertAfter(…)</code></a> methods, which will create the matrices show above. |
| The projection constructor is free to apply additional operations on the two affine transforms |
| (<a href="#getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)">normalize / denormalize</a>) before or after the above-cited |
| methods have been invoked.</li> |
| |
| <li>After all parameter values have been set and the normalize / denormalize matrices defined, |
| the <a href="#completeTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.operation.MathTransform)"><code>completeTransform(…)</code></a> method |
| will mark this <code>ContextualParameters</code> object as unmodifiable and create the chain of transforms |
| from (λ,φ) in angular degrees to (x,y) in metres. Note that conversions to other units and |
| <a href="../../cs/CoordinateSystems.html#swapAndScaleAxes(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.CoordinateSystem)">changes in axis order</a> |
| are not the purpose of this transforms chain – they are separated steps. |
| </li> |
| </ol> |
| |
| <div class="section">Serialization</div> |
| Serialized instances of this class 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.6</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection"><code>NormalizedProjection</code></a>, |
| <a href="AbstractMathTransform.html#getContextualParameters()"><code>AbstractMathTransform.getContextualParameters()</code></a>, |
| <a href="../../../../../../serialized-form.html#org.apache.sis.referencing.operation.transform.ContextualParameters">Serialized Form</a></dd> |
| |
| <p><font size="-1">Defined in the <code>sis-referencing</code> module</font></p> |
| </dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <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>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Whether a matrix is used for <cite>normalization</cite> or <cite>denormalization</cite> |
| before or after a non-linear operation.</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">Constructor</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.opengis.parameter.ParameterDescriptorGroup,int,int)">ContextualParameters</a></span>​(<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> descriptor, |
| int srcDim, |
| int tgtDim)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a new group of parameters with the given descriptor.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod)">ContextualParameters</a></span>​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/OperationMethod.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">OperationMethod</a> method)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a new group of parameters for the given non-linear coordinate operation method.</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="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><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="#addGroup(java.lang.String)">addGroup</a></span>​(<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> name)</code></th> |
| <td class="colLast"> |
| <div class="block">Unsupported operation, since <code>ContextualParameters</code> groups do not contain sub-groups.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><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="#clone()">clone</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a modifiable clone of this parameter value group.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <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="#completeTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.operation.MathTransform)">completeTransform</a></span>​(<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, |
| <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> kernel)</code></th> |
| <td class="colLast"> |
| <div class="block">Marks this <code>ContextualParameter</code> as unmodifiable and creates the |
| <cite>normalize</cite> → <code>kernel</code> → <cite>denormalize</cite> transforms chain.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code><a href="../matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#denormalizeGeographicOutputs(double)">denormalizeGeographicOutputs</a></span>​(double λ0)</code></th> |
| <td class="colLast"> |
| <div class="block">Appends a denormalization step after the non-linear kernel, which will convert input coordinates |
| in the two first dimensions from radians to degrees.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">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 given object with the parameters for equality.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <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="#getDescriptor()">getDescriptor</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the parameters for the <cite>normalize</cite> → <cite>non-linear kernel</cite> → |
| <cite>denormalize</cite> sequence as a whole.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="../matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)">getMatrix</a></span>​(<a href="ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a> role)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the affine transforms to be applied before or after the non-linear kernel operation.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code><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><<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="#groups(java.lang.String)">groups</a></span>​(<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> name)</code></th> |
| <td class="colLast"> |
| <div class="block">Unsupported operation, since <code>ContextualParameters</code> groups do not contain sub-groups.</div> |
| </td> |
| </tr> |
| <tr id="i8" 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 code value for this object.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code><a href="../matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#normalizeGeographicInputs(double)">normalizeGeographicInputs</a></span>​(double λ0)</code></th> |
| <td class="colLast"> |
| <div class="block">Prepends a normalization step converting input coordinates in the two first dimensions from degrees to radians.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValue.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterValue</a><?></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#parameter(java.lang.String)">parameter</a></span>​(<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> name)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the parameter value of the given name.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code><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><<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterValue.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterValue</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns an unmodifiable list containing all parameters in this group.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.Parameters"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class <a href="../../../parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></h3> |
| <code><a href="../../../parameter/Parameters.html#booleanValue(org.opengis.parameter.ParameterDescriptor)">booleanValue</a>, <a href="../../../parameter/Parameters.html#cast(org.opengis.parameter.ParameterDescriptor,java.lang.Class)">cast</a>, <a href="../../../parameter/Parameters.html#cast(org.opengis.parameter.ParameterValue,java.lang.Class)">cast</a>, <a href="../../../parameter/Parameters.html#castOrWrap(org.opengis.parameter.ParameterValueGroup)">castOrWrap</a>, <a href="../../../parameter/Parameters.html#copy(org.opengis.parameter.ParameterValueGroup,org.opengis.parameter.ParameterValueGroup)">copy</a>, <a href="../../../parameter/Parameters.html#doubleValue(org.opengis.parameter.ParameterDescriptor)">doubleValue</a>, <a href="../../../parameter/Parameters.html#doubleValueList(org.opengis.parameter.ParameterDescriptor)">doubleValueList</a>, <a href="../../../parameter/Parameters.html#getDescriptors(org.opengis.parameter.GeneralParameterValue...)">getDescriptors</a>, <a href="../../../parameter/Parameters.html#getMandatoryValue(org.opengis.parameter.ParameterDescriptor)">getMandatoryValue</a>, <a href="../../../parameter/Parameters.html#getMemberName(org.opengis.parameter.ParameterDescriptor)">getMemberName</a>, <a href="../../../parameter/Parameters.html#getOrCreate(org.opengis.parameter.ParameterDescriptor)">getOrCreate</a>, <a href="../../../parameter/Parameters.html#getValue(org.opengis.parameter.ParameterDescriptor)">getValue</a>, <a href="../../../parameter/Parameters.html#getValueDomain(org.opengis.parameter.ParameterDescriptor)">getValueDomain</a>, <a href="../../../parameter/Parameters.html#intValue(org.opengis.parameter.ParameterDescriptor)">intValue</a>, <a href="../../../parameter/Parameters.html#intValueList(org.opengis.parameter.ParameterDescriptor)">intValueList</a>, <a href="../../../parameter/Parameters.html#print()">print</a>, <a href="../../../parameter/Parameters.html#stringValue(org.opengis.parameter.ParameterDescriptor)">stringValue</a>, <a href="../../../parameter/Parameters.html#toString()">toString</a>, <a href="../../../parameter/Parameters.html#unmodifiable(org.opengis.parameter.ParameterValueGroup)">unmodifiable</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#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> |
| </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>(org.opengis.referencing.operation.OperationMethod)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ContextualParameters</h4> |
| <pre>public ContextualParameters​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/OperationMethod.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">OperationMethod</a> method)</pre> |
| <div class="block">Creates a new group of parameters for the given non-linear coordinate operation method. |
| The <a href="../DefaultOperationMethod.html#getParameters()">method parameters</a> |
| shall describe the <cite>normalize</cite> → <cite>non-linear kernel</cite> → <cite>denormalize</cite> sequence |
| as a whole. After construction, callers shall: |
| |
| <ul> |
| <li>Set the relevant parameter values by calls to |
| <code><a href="#parameter(java.lang.String)">parameter(…)</a>.setValue(…)</code>.</li> |
| <li>Modify the element values in <a href="#getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)">normalization / denormalization</a> |
| affine transforms, optionally by calls to the convenience methods in this class.</li> |
| <li>Get the complete transforms chain with a call |
| <a href="#completeTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.operation.MathTransform)"><code>completeTransform(…)</code></a></li> |
| </ul> |
| |
| See class javadoc for more information.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>method</code> - the non-linear operation method for which to define the parameter values.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="<init>(org.opengis.parameter.ParameterDescriptorGroup,int,int)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>ContextualParameters</h4> |
| <pre>public ContextualParameters​(<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> descriptor, |
| int srcDim, |
| int tgtDim)</pre> |
| <div class="block">Creates a new group of parameters with the given descriptor. This constructor performs the same construction than |
| <a href="#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod)"><code>ContextualParameters(OperationMethod)</code></a> but without the need to specify an <code>OperationMethod</code> instance.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>descriptor</code> - the parameter descriptor.</dd> |
| <dd><code>srcDim</code> - number of source dimensions.</dd> |
| <dd><code>tgtDim</code> - number of target dimensions.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ============ METHOD DETAIL ========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a id="getDescriptor()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDescriptor</h4> |
| <pre class="methodSignature">public final <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> getDescriptor()</pre> |
| <div class="block">Returns the parameters for the <cite>normalize</cite> → <cite>non-linear kernel</cite> → |
| <cite>denormalize</cite> sequence as a whole. This is the parameter descriptor of the |
| <a href="../DefaultOperationMethod.html" title="class in org.apache.sis.referencing.operation">operation method</a> |
| given to the constructor. |
| |
| <p>The values for those parameters is given by the <a href="#values()"><code>values()</code></a> method. Those values may be used in |
| the <a href="#getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)">normalization / denormalization</a> transforms, in the kernel, or both.</p> |
| |
| <div class="note"><b>Note:</b> |
| The definition of "kernel" is left to implementers. |
| In the particular case of Apache SIS implementation of map projections, |
| kernels are instances of <a href="../projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection"><code>NormalizedProjection</code></a>. |
| Other "kernels" in SIS are <a href="EllipsoidToCentricTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>EllipsoidToCentricTransform</code></a> and <a href="MolodenskyTransform.html" title="class in org.apache.sis.referencing.operation.transform"><code>MolodenskyTransform</code></a>.</div></div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterValue.html?is-external=true#getDescriptor()" title="class or interface in org.opengis.parameter" class="externalLink">getDescriptor</a></code> in interface <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterValue.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterValue</a></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true#getDescriptor()" title="class or interface in org.opengis.parameter" class="externalLink">getDescriptor</a></code> in interface <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></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the description of the parameters.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getMatrix</h4> |
| <pre class="methodSignature">public final <a href="../matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a> getMatrix​(<a href="ContextualParameters.MatrixRole.html" title="enum in org.apache.sis.referencing.operation.transform">ContextualParameters.MatrixRole</a> role)</pre> |
| <div class="block">Returns the affine transforms to be applied before or after the non-linear kernel operation. |
| Immediately after <a href="#%3Cinit%3E(org.opengis.referencing.operation.OperationMethod)">construction</a>, those matrices |
| are modifiable identity matrices. Callers can modify the matrix element values, typically by calls to |
| the <a href="../matrix/MatrixSIS.html#convertBefore(int,java.lang.Number,java.lang.Number)"><code>MatrixSIS.convertBefore(…)</code></a> method. |
| Alternatively, the following methods can be invoked for applying some frequently used configurations: |
| |
| <ul> |
| <li><a href="#normalizeGeographicInputs(double)"><code>normalizeGeographicInputs(double)</code></a></li> |
| <li><a href="#denormalizeGeographicOutputs(double)"><code>denormalizeGeographicOutputs(double)</code></a></li> |
| </ul> |
| |
| After the <a href="#completeTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.operation.MathTransform)"><code>completeTransform(…)</code></a> method has been |
| invoked, the matrices returned by this method are <a href="../matrix/Matrices.html#unmodifiable(org.opengis.referencing.operation.Matrix)">unmodifiable</a>. |
| |
| |
| <div class="note"><b>Application to map projections:</b> |
| after <a href="../projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection"><code>NormalizedProjection</code></a> construction, the matrices |
| returned by <code>projection.getContextualParameters().getMatrix(…)</code> are initialized to the values shown below. |
| Note that some <code>NormalizedProjection</code> subclasses apply further modifications to those matrices. |
| |
| <table class="sis"> |
| <caption>Initial matrix coefficients after <code>NormalizedProjection</code> construction</caption> |
| <tr> |
| <th><code>getMatrix(NORMALIZATION)</code></th> |
| <th class="sep"><code>getMatrix(DENORMALIZATION)</code></th> |
| </tr><tr> |
| <td> <math display="block" alttext="MathML capable browser required"> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr> |
| <mtd><mi>π</mi><mo>/</mo><mn>180</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mo>-</mo><msub><mi>λ</mi><mn>0</mn></msub> <mo>⋅</mo> <mo>(</mo><mi>π</mi><mo>/</mo><mn>180</mn><mo>)</mo></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mi>π</mi><mo>/</mo><mn>180</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>1</mn></mtd> |
| </mtr> |
| </mtable> |
| </mfenced> |
| </math> |
| |
| |
| |
| |
| </td> |
| <td class="sep"> <math display="block" alttext="MathML capable browser required"> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr> |
| <mtd><mi>a</mi> <mo>⋅</mo> <msub><mi>k</mi><mn>0</mn></msub></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mi>FE</mi></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mi>a</mi> <mo>⋅</mo> <msub><mi>k</mi><mn>0</mn></msub></mtd> |
| <mtd><mi>FN</mi></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>1</mn></mtd> |
| </mtr> |
| </mtable> |
| </mfenced> |
| </math> |
| </td> |
| </tr> |
| </table> |
| </div></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>role</code> - <code>NORMALIZATION</code> for fetching the <cite>normalization</cite> transform to apply before the kernel, |
| <code>DENORMALIZATION</code> for the <cite>denormalization</cite> transform to apply after the kernel, or |
| <code>INVERSE_*</code> for the inverse of the above-cited matrices.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the matrix for the requested normalization or denormalization affine transform.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.7</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="normalizeGeographicInputs(double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>normalizeGeographicInputs</h4> |
| <pre class="methodSignature">public <a href="../matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a> normalizeGeographicInputs​(double λ0)</pre> |
| <div class="block">Prepends a normalization step converting input coordinates in the two first dimensions from degrees to radians. |
| The normalization can optionally subtract the given λ₀ value (in degrees) from the longitude. |
| |
| <p>Invoking this method is equivalent to <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/geom/AffineTransform.html?is-external=true#concatenate(java.awt.geom.AffineTransform)" title="class or interface in java.awt.geom" class="externalLink">concatenating</a> |
| the normalization matrix with the following matrix. This will have the effect of applying the conversion |
| described above before any other operation:</p> |
| |
| <div style="text-align:center"> <math display="block" alttext="MathML capable browser required"> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr> |
| <mtd><mi>π</mi><mo>/</mo><mn>180</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mo>-</mo><msub><mi>λ</mi><mn>0</mn></msub> <mo>⋅</mo> <mo>(</mo><mi>π</mi><mo>/</mo><mn>180</mn><mo>)</mo></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mi>π</mi><mo>/</mo><mn>180</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>1</mn></mtd> |
| </mtr> |
| </mtable> |
| </mfenced> |
| </math> |
| |
| |
| |
| |
| </div></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>\u03bb0</code> - longitude of the central meridian, in degrees.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the normalization affine transform as a matrix. |
| Callers can change that matrix directly if they want to apply additional normalization operations.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if this <code>ContextualParameter</code> has been made unmodifiable.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="denormalizeGeographicOutputs(double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>denormalizeGeographicOutputs</h4> |
| <pre class="methodSignature">public <a href="../matrix/MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a> denormalizeGeographicOutputs​(double λ0)</pre> |
| <div class="block">Appends a denormalization step after the non-linear kernel, which will convert input coordinates |
| in the two first dimensions from radians to degrees. After this conversion, the denormalization |
| can optionally add the given λ₀ value (in degrees) to the longitude. |
| |
| <p>Invoking this method is equivalent to <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/geom/AffineTransform.html?is-external=true#concatenate(java.awt.geom.AffineTransform)" title="class or interface in java.awt.geom" class="externalLink">concatenating</a> |
| the denormalization matrix with the following matrix. This will have the effect of applying the conversion |
| described above after the non-linear kernel operation:</p> |
| |
| <div style="text-align:center"> <math display="block" alttext="MathML capable browser required"> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr> |
| <mtd><mi>180</mi><mo>/</mo><mn>π</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><msub><mi>λ</mi><mn>0</mn></msub></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mi>180</mi><mo>/</mo><mn>π</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>0</mn></mtd> |
| <mtd><mn>1</mn></mtd> |
| </mtr> |
| </mtable> |
| </mfenced> |
| </math> |
| |
| |
| |
| |
| </div></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>\u03bb0</code> - longitude of the central meridian, in degrees.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the denormalization affine transform as a matrix. |
| Callers can change that matrix directly if they want to apply additional denormalization operations.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if this <code>ContextualParameter</code> has been made unmodifiable.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="completeTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.operation.MathTransform)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>completeTransform</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> completeTransform​(<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, |
| <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> kernel) |
| 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">Marks this <code>ContextualParameter</code> as unmodifiable and creates the |
| <cite>normalize</cite> → <code>kernel</code> → <cite>denormalize</cite> transforms chain. |
| This method shall be invoked only after the <a href="#getMatrix(org.apache.sis.referencing.operation.transform.ContextualParameters.MatrixRole)">(de)normalization</a> |
| matrices have been set to their final values. |
| |
| <p>The transforms chain created by this method does not include any step for |
| <a href="../../cs/CoordinateSystems.html#swapAndScaleAxes(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.CoordinateSystem)">changing axis order</a> |
| or for converting to units other than degrees or metres. Such steps, if desired, should be defined |
| outside <code>ContextualParameters</code>. Efficient concatenation of those steps will happen "under |
| the hood".</p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>factory</code> - the factory to use for creating math transform instances.</dd> |
| <dd><code>kernel</code> - the (usually non-linear) kernel. |
| This is often a <a href="../projection/NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection"><code>NormalizedProjection</code></a>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the concatenation of <cite>normalize</cite> → <cite>the given kernel</cite> → <cite>denormalize</cite> |
| transforms.</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 creating a math transform instance.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../projection/NormalizedProjection.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)"><code>NormalizedProjection.createMapProjection(MathTransformFactory)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="parameter(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>parameter</h4> |
| <pre class="methodSignature">public <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValue.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterValue</a><?> parameter​(<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> name) |
| throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterNotFoundException.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterNotFoundException</a></pre> |
| <div class="block">Returns the parameter value of the given name. |
| Before the call to <a href="#completeTransform(org.opengis.referencing.operation.MathTransformFactory,org.opengis.referencing.operation.MathTransform)"><code>completeTransform(…)</code></a>, |
| this method can be used for setting parameter values like below: |
| |
| <blockquote><pre><b>parameter</b>(<font color="orangered">"Scale factor"</font>).<b>setValue</b>(0.9996); <i><font color="gray">// Scale factor of Universal Transverse Mercator (UTM) projections.</font></i></pre></blockquote> |
| |
| After the call to <code>completeTransform(…)</code>, the returned parameters are read-only.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true#parameter(java.lang.String)" title="class or interface in org.opengis.parameter" class="externalLink">parameter</a></code> in interface <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></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>name</code> - the name of the parameter to search.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the parameter value for the given name.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterNotFoundException.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterNotFoundException</a></code> - if there is no parameter of the given name.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="values()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>values</h4> |
| <pre class="methodSignature">public <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><<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterValue.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterValue</a>> values()</pre> |
| <div class="block">Returns an unmodifiable list containing all parameters in this group. |
| Callers should not attempt to modify the parameter values in this list.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true#values()" title="class or interface in org.opengis.parameter" class="externalLink">values</a></code> in interface <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></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>all parameter values.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="groups(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>groups</h4> |
| <pre class="methodSignature">public <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><<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>> groups​(<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> name)</pre> |
| <div class="block">Unsupported operation, since <code>ContextualParameters</code> groups do not contain sub-groups.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true#groups(java.lang.String)" title="class or interface in org.opengis.parameter" class="externalLink">groups</a></code> in interface <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></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>name</code> - ignored.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>never returned.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="addGroup(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addGroup</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> addGroup​(<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> name)</pre> |
| <div class="block">Unsupported operation, since <code>ContextualParameters</code> groups do not contain sub-groups.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true#addGroup(java.lang.String)" title="class or interface in org.opengis.parameter" class="externalLink">addGroup</a></code> in interface <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></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>name</code> - ignored.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>never returned.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="clone()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>clone</h4> |
| <pre class="methodSignature">public <a href="ContextualParameters.html" title="class in org.apache.sis.referencing.operation.transform">ContextualParameters</a> clone()</pre> |
| <div class="block">Returns a modifiable clone of this parameter value group.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterValue.html?is-external=true#clone()" title="class or interface in org.opengis.parameter" class="externalLink">clone</a></code> in interface <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterValue.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterValue</a></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterValueGroup.html?is-external=true#clone()" title="class or interface in org.opengis.parameter" class="externalLink">clone</a></code> in interface <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></dd> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="../../../parameter/Parameters.html#clone()">clone</a></code> in class <code><a href="../../../parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>a clone of this parameter value group.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../parameter/Parameters.html#copy(org.opengis.parameter.ParameterValueGroup,org.opengis.parameter.ParameterValueGroup)"><code>Parameters.copy(ParameterValueGroup, ParameterValueGroup)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="hashCode()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hashCode</h4> |
| <pre class="methodSignature">public int hashCode()</pre> |
| <div class="block">Returns a hash code value for this object. This value is |
| implementation-dependent and may change in any future version.</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> |
| </dl> |
| </li> |
| </ul> |
| <a id="equals(java.lang.Object)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <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)</pre> |
| <div class="block">Compares the given object with the parameters for equality.</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#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 the parameters.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>true</code> if the given object is equal to this one.</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/ContextualParameters.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> |