| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (21) on Thu Oct 05 19:54:57 CEST 2023 --> |
| <title>GridOrientation (Apache SIS 1.4 API)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="dc.created" content="2023-10-05"> |
| <meta name="description" content="declaration: module: org.apache.sis.feature, package: org.apache.sis.coverage.grid, class: GridOrientation"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <meta name="keywords" content="org.apache.sis.coverage.grid.GridOrientation class"> |
| <meta name="keywords" content="HOMOTHETY"> |
| <meta name="keywords" content="REFLECTION_Y"> |
| <meta name="keywords" content="DISPLAY"> |
| <meta name="keywords" content="flipGridAxis()"> |
| <meta name="keywords" content="useVariantOfCRS()"> |
| <meta name="keywords" content="canReorderGridAxis()"> |
| <meta name="keywords" content="equals()"> |
| <meta name="keywords" content="hashCode()"> |
| <meta name="keywords" content="toString()"> |
| <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="../../../../../../script-dir/jquery-ui.min.css" title="Style"> |
| <script type="text/javascript" src="../../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script> |
| <script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var pathtoroot = "../../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../../../index.html">Overview</a></li> |
| <li><a href="../../../../../module-summary.html">Module</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">Class</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#class">Help</a></li> |
| </ul> |
| <ul class="sub-nav-list-small"> |
| <li> |
| <p>Summary:</p> |
| <ul> |
| <li>Nested</li> |
| <li><a href="#field-summary">Field</a></li> |
| <li>Constr</li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| </li> |
| <li> |
| <p>Detail:</p> |
| <ul> |
| <li><a href="#field-detail">Field</a></li> |
| <li>Constr</li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div id="navbar-sub-list"> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field-summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li><a href="#field-detail">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><a href="../../../../../../search.html">SEARCH</a> |
| <input type="text" id="search-input" disabled placeholder="Search"> |
| <input type="reset" id="reset-button" disabled value="reset"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="module-label-in-type">Module</span> <a href="../../../../../module-summary.html">org.apache.sis.feature</a></div> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.sis.coverage.grid</a></div> |
| <h1 title="Class GridOrientation" class="title">Class GridOrientation</h1> |
| </div> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> |
| <div class="inheritance">GridOrientation</div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd> |
| </dl> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">GridOrientation</span> |
| <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> |
| implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></span></div> |
| <div class="block">High-level description about how a grid is orientated relative to the CRS axes. The orientation of a grid |
| is closely related to the <a href="GridGeometry.html#getGridToCRS(org.opengis.referencing.datum.PixelInCell)">grid to CRS</a> transform. |
| For example, the conversion from grid coordinates to CRS coordinates may flip the <var>y</var> axis |
| (grid coordinates increasing toward down on screen), or may swap <var>x</var> and <var>y</var> axes, <i>etc.</i> |
| The constants enumerated in this class cover only a few common cases where the grid is |
| <a href="https://en.wikipedia.org/wiki/Axis-aligned_object">axis-aligned</a> with the CRS.</div> |
| <dl class="notes"> |
| <dt>Since:</dt> |
| <dd>1.1</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="tag-list-long"> |
| <li><a href="GridGeometry.html#%3Cinit%3E(org.apache.sis.coverage.grid.GridExtent,org.opengis.geometry.Envelope,org.apache.sis.coverage.grid.GridOrientation)"><code>GridGeometry(GridExtent, Envelope, GridOrientation)</code></a></li> |
| <li><a href="../../../../../../serialized-form.html#org.apache.sis.coverage.grid.GridOrientation">Serialized Form</a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <li> |
| <section class="field-summary" id="field-summary"> |
| <h2>Field Summary</h2> |
| <div class="caption"><span>Fields</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Field</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>static final <a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#DISPLAY" class="member-name-link">DISPLAY</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">CRS axes are reordered and oriented toward directions commonly used for displaying purpose.</div> |
| </div> |
| <div class="col-first odd-row-color"><code>static final <a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#HOMOTHETY" class="member-name-link">HOMOTHETY</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">The <code>gridToCRS</code> transform applies only scales and translations (no axis flip or swap).</div> |
| </div> |
| <div class="col-first even-row-color"><code>static final <a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#REFLECTION_Y" class="member-name-link">REFLECTION_Y</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">The <code>gridToCRS</code> transform applies scales and translations with a flip of the second axis (<var>y</var>).</div> |
| </div> |
| </div> |
| </section> |
| </li> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel"> |
| <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#canReorderGridAxis(boolean)" class="member-name-link">canReorderGridAxis</a><wbr>(boolean enabled)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Specifies whether a change of CRS axis order should be accompanied by an equivalent change of grid axis order.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> other)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns whether this object is equal to the given object.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#flipGridAxis(int)" class="member-name-link">flipGridAxis</a><wbr>(int dimension)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Reverses axis direction in the specified grid dimension.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" class="member-name-link">hashCode</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a hash code value for this grid orientation.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a string representation of this grid orientation.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#useVariantOfCRS(org.apache.sis.referencing.cs.AxesConvention)" class="member-name-link">useVariantOfCRS</a><wbr>(<a href="../../../../../../org.apache.sis.referencing/org/apache/sis/referencing/cs/AxesConvention.html" title="enum class in org.apache.sis.referencing.cs">AxesConvention</a> variant)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Substitutes the user-specified CRS by a variant of it, for example with different axis order.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3> |
| <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="details-list"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <li> |
| <section class="field-details" id="field-detail"> |
| <h2>Field Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="HOMOTHETY"> |
| <h3>HOMOTHETY</h3> |
| <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></span> <span class="element-name">HOMOTHETY</span></div> |
| <div class="block">The <code>gridToCRS</code> transform applies only scales and translations (no axis flip or swap). |
| Moving along the grid axis in dimension <var>i</var> causes a displacement along the CRS axis |
| in the same dimension <var>i</var>. |
| In matrix terms all non-zero coefficients are on the diagonal or in the translation column. |
| For example, in the three-dimensional case: |
| |
| <pre class="math"> |
| ┌ ┐ |
| │ Sx 0 0 Tx │ |
| │ 0 Sy 0 Ty │ |
| │ 0 0 Sz Tz │ |
| │ 0 0 0 1 │ |
| └ ┘</pre> |
| |
| with |
| <var>S<sub>x</sub></var> > 0, |
| <var>S<sub>y</sub></var> > 0 and |
| <var>S<sub>z</sub></var> > 0.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="REFLECTION_Y"> |
| <h3>REFLECTION_Y</h3> |
| <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></span> <span class="element-name">REFLECTION_Y</span></div> |
| <div class="block">The <code>gridToCRS</code> transform applies scales and translations with a flip of the second axis (<var>y</var>). |
| This is equivalent to <code>HOMOTHETY.flipGridAxis(1)</code>; i.e. |
| this is the same kind of conversion than <a href="#HOMOTHETY"><code>HOMOTHETY</code></a> except that the <var>S<sub>y</sub></var> term in |
| the matrix is replaced by −<var>S<sub>y</sub></var> and the <var>T<sub>y</sub></var> term has a different value. |
| For example in the three-dimensional case, the <code>gridToCRS</code> transform is: |
| |
| <pre class="math"> |
| ┌ ┐ |
| │ Sx 0 0 Tx │ |
| │ 0 −Sy 0 Ty′ │ |
| │ 0 0 Sz Tz │ |
| │ 0 0 0 1 │ |
| └ ┘</pre> |
| |
| <h4 id="when-to-use-heading">When to use</h4> |
| <code>REFLECTION_Y</code> is commonly used when the grid is a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link"><code>RenderedImage</code></a>. |
| By contrast, an <a href="#HOMOTHETY"><code>HOMOTHETY</code></a> transform often results in <var>y</var> axis oriented toward up, |
| instead of down as commonly expected with rendered images. |
| This <code>REFLECTION_Y</code> value matches the common usage for grids backed by images.</div> |
| <dl class="notes"> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="tag-list"> |
| <li><a href="#flipGridAxis(int)"><code>flipGridAxis(int)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="DISPLAY"> |
| <h3>DISPLAY</h3> |
| <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></span> <span class="element-name">DISPLAY</span></div> |
| <div class="block">CRS axes are reordered and oriented toward directions commonly used for displaying purpose. |
| This is equivalent to <code>REFLECTION_Y.useVariantOfCRS(AxesConvention.DISPLAY_ORIENTED)</code>. |
| <a href="GridGeometry.html" title="class in org.apache.sis.coverage.grid"><code>GridGeometry</code></a>s created with this orientation have properties computed as below: |
| |
| <ul> |
| <li>The <a href="GridExtent.html" title="class in org.apache.sis.coverage.grid"><code>GridExtent</code></a> specified by user (never modified).</li> |
| <li>An envelope initialized to user-specified envelope (potentially modified as described below).</li> |
| <li>A <code>gridToCRS</code> initialized to <a href="#REFLECTION_Y"><code>REFLECTION_Y</code></a> (potentially modified as described below).</li> |
| <li>The <a href="../../../../../../org.apache.sis.referencing/org/apache/sis/referencing/cs/AxesConvention.html#DISPLAY_ORIENTED">display oriented</a> variant of the CRS specified by user.</li> |
| <li>If above CRS variant is same as user-specified CRS, we are done. Otherwise: |
| <ul> |
| <li>Envelope dimensions are reordered to match axis order in above CRS variant |
| Those changes are applied on a copy of user-specified envelope.</li> |
| <li>The <code>gridToCRS</code> transform is amended with the same reordering (applied on columns) |
| as for envelope.</li> |
| </ul> |
| </li> |
| </ul> |
| |
| Below is an example of <code>gridToCRS</code> transform obtained when the display-oriented CRS variant |
| is different than the user-specified CRS (if those CRSs are equal, then the transform is rather |
| like the one shown in <a href="#REFLECTION_Y"><code>REFLECTION_Y</code></a>): |
| |
| <pre class="math"> |
| ┌ ┐ |
| │ 0 Sx 0 Tx │ |
| │ −Sy 0 0 Ty′ │ |
| │ 0 0 Sz Tz │ |
| │ 0 0 0 1 │ |
| └ ┘</pre> |
| |
| <h4 id="when-to-use-heading1">When to use</h4> |
| This orientation can be used for deriving a coordinate reference system with the |
| <i>(<var>longitude</var>, <var>latitude</var>)</i> or <i>(<var>x</var>,<var>y</var>)</i> axis order, |
| but without altering grid axes order. |
| |
| <h4 id="alternative-heading">Alternative</h4> |
| <code>DISPLAY.canReorderGridAxis(true)</code> is an alternative where grid axes get the same reordering than CRS axes. |
| Consequently, the <a href="GridExtent.html" title="class in org.apache.sis.coverage.grid"><code>GridExtent</code></a> may be different then the specified extent |
| but the <code>gridToCRS</code> transform always has the form shown in <a href="#REFLECTION_Y"><code>REFLECTION_Y</code></a>. |
| This alternative can be used for deriving a coordinate reference system with the |
| <i>(<var>longitude</var>, <var>latitude</var>)</i> or <i>(<var>x</var>,<var>y</var>)</i> axis order, |
| and modify grid cell layout (i.e. replace the <a href="GridExtent.html" title="class in org.apache.sis.coverage.grid"><code>GridExtent</code></a> instance) |
| in way that allows <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link"><code>RenderedImage</code></a> to appear with expected orientation.</div> |
| <dl class="notes"> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="tag-list-long"> |
| <li><a href="#useVariantOfCRS(org.apache.sis.referencing.cs.AxesConvention)"><code>useVariantOfCRS(AxesConvention)</code></a></li> |
| <li><a href="../../../../../../org.apache.sis.referencing/org/apache/sis/referencing/cs/AxesConvention.html#DISPLAY_ORIENTED"><code>AxesConvention.DISPLAY_ORIENTED</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="flipGridAxis(int)"> |
| <h3>flipGridAxis</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></span> <span class="element-name">flipGridAxis</span><wbr><span class="parameters">(int dimension)</span></div> |
| <div class="block">Reverses axis direction in the specified grid dimension. |
| For example if grid indices are (<var>column</var>, <var>row</var>), |
| then <code>flipGridAxis(1)</code> will reverse the direction of rows axis. |
| Invoking this method a second time for the same dimension will cancel the flipping.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>dimension</code> - index of the dimension in the grid on which to apply direction reversal.</dd> |
| <dt>Returns:</dt> |
| <dd>a grid orientation equals to this one except for the axis flip in specified dimension.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="tag-list-long"> |
| <li><a href="#REFLECTION_Y"><code>REFLECTION_Y</code></a></li> |
| <li><a href="GridCoverageBuilder.html#flipGridAxis(int)"><code>GridCoverageBuilder.flipGridAxis(int)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="useVariantOfCRS(org.apache.sis.referencing.cs.AxesConvention)"> |
| <h3>useVariantOfCRS</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></span> <span class="element-name">useVariantOfCRS</span><wbr><span class="parameters">(<a href="../../../../../../org.apache.sis.referencing/org/apache/sis/referencing/cs/AxesConvention.html" title="enum class in org.apache.sis.referencing.cs">AxesConvention</a> variant)</span></div> |
| <div class="block">Substitutes the user-specified CRS by a variant of it, for example with different axis order. |
| If the CRS axis order changed as a result of this substitution, then: |
| |
| <ul> |
| <li>Order of envelope coordinates are changed accordingly.</li> |
| <li>CRS axis order change is mapped to the grid in one of the following ways: |
| <ul> |
| <li>If <code>canReorderGridAxis(true)</code> has been invoked, then the same change is applied |
| on grid axis order. Consequently, grid axes and CRS axes stay in the same order, |
| but the resulting <a href="GridExtent.html" title="class in org.apache.sis.coverage.grid"><code>GridExtent</code></a> may be different than the specified one.</li> |
| <li>Otherwise <a href="GridExtent.html" title="class in org.apache.sis.coverage.grid"><code>GridExtent</code></a> stay unchanged and axis order change is handled in the |
| <code>gridToCRS</code> transform instead.</li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h4 id="limitations-heading">Limitations</h4> |
| Current implementation accepts only axis order changes and direction changes. |
| The units of measurement changes are not yet supported. |
| Consequently, <a href="../../../../../../org.apache.sis.referencing/org/apache/sis/referencing/cs/AxesConvention.html#NORMALIZED"><code>AxesConvention.NORMALIZED</code></a> is not accepted.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>variant</code> - the kind of substitution to apply on CRS, or <code>null</code> if none.</dd> |
| <dt>Returns:</dt> |
| <dd>a grid orientation equals to this one except that it uses the specified CRS variant.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="tag-list"> |
| <li><a href="#DISPLAY"><code>DISPLAY</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="canReorderGridAxis(boolean)"> |
| <h3>canReorderGridAxis</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="GridOrientation.html" title="class in org.apache.sis.coverage.grid">GridOrientation</a></span> <span class="element-name">canReorderGridAxis</span><wbr><span class="parameters">(boolean enabled)</span></div> |
| <div class="block">Specifies whether a change of CRS axis order should be accompanied by an equivalent change of grid axis order. |
| A value of <code>true</code> implies that user-specified <a href="GridExtent.html" title="class in org.apache.sis.coverage.grid"><code>GridExtent</code></a> may be replaced by a different extent. |
| If <code>false</code> (the default), then axis order changes will be handled in the <code>gridToCRS</code> transform |
| instead.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>enabled</code> - whether changes of CRS axis order should be reflected by changes of grid axis order.</dd> |
| <dt>Returns:</dt> |
| <dd>a grid orientation equals to this one except that it has the specified flag.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equals(java.lang.Object)"> |
| <h3>equals</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> other)</span></div> |
| <div class="block">Returns whether this object is equal to the given object.</div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd> |
| <dt>Parameters:</dt> |
| <dd><code>other</code> - the other object to compare with this object.</dd> |
| <dt>Returns:</dt> |
| <dd>whether the two objects are equal.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="hashCode()"> |
| <h3>hashCode</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">hashCode</span>()</div> |
| <div class="block">Returns a hash code value for this grid orientation.</div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="toString()"> |
| <h3>toString</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">toString</span>()</div> |
| <div class="block">Returns a string representation of this grid orientation. |
| This is for debugging purpose and may change in any future version.</div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| </div> |
| </div> |
| </body> |
| </html> |