| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 --> |
| <title>BursaWolfParameters (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.datum.BursaWolfParameters class"> |
| <meta name="keywords" content="tX"> |
| <meta name="keywords" content="tY"> |
| <meta name="keywords" content="tZ"> |
| <meta name="keywords" content="rX"> |
| <meta name="keywords" content="rY"> |
| <meta name="keywords" content="rZ"> |
| <meta name="keywords" content="dS"> |
| <meta name="keywords" content="getTargetDatum()"> |
| <meta name="keywords" content="getValues()"> |
| <meta name="keywords" content="setValues()"> |
| <meta name="keywords" content="isIdentity()"> |
| <meta name="keywords" content="isTranslation()"> |
| <meta name="keywords" content="reverseRotation()"> |
| <meta name="keywords" content="invert()"> |
| <meta name="keywords" content="getPositionVectorTransformation()"> |
| <meta name="keywords" content="setPositionVectorTransformation()"> |
| <meta name="keywords" content="getDomainOfValidity()"> |
| <meta name="keywords" content="clone()"> |
| <meta name="keywords" content="equals()"> |
| <meta name="keywords" content="hashCode()"> |
| <meta name="keywords" content="formatTo()"> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../sis.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="BursaWolfParameters (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,"i12":10,"i13":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/BursaWolfParameters.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>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </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><a href="#field.detail">Field</a> | </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.datum</a></div> |
| <h2 title="Class BursaWolfParameters" class="title">Class BursaWolfParameters</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li><a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>BursaWolfParameters</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></dd> |
| </dl> |
| <dl> |
| <dt>Direct Known Subclasses:</dt> |
| <dd><code><a href="TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum">TimeDependentBWP</a></code></dd> |
| </dl> |
| <hr> |
| <pre>public class <span class="typeNameLabel">BursaWolfParameters</span> |
| extends <a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a> |
| implements <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>, <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">Parameters for a geographic transformation between two datum having the same prime meridian. |
| Bursa-Wolf parameters are also known as <cite>Helmert transformation parameters</cite>. |
| For an explanation of their purpose, see the <cite>Bursa-Wolf parameters</cite> section |
| of <a href="DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum"><code>DefaultGeodeticDatum</code></a> class javadoc. |
| |
| <p>The Bursa-Wolf parameters shall be applied to geocentric coordinates, |
| where the <var>X</var> axis points towards the Prime Meridian (usually Greenwich), |
| the <var>Y</var> axis points East, and the <var>Z</var> axis points North.</p> |
| |
| <div class="note"><b>Note:</b> |
| The upper case letters are intentional. By convention, (<var>X</var>, <var>Y</var>, <var>Z</var>) |
| stand for <cite>geocentric</cite> coordinates while (<var>x</var>, <var>y</var>, <var>z</var>) |
| stand for <cite>projected</cite> coordinates.</div> |
| |
| The "Bursa-Wolf" formula is expressed with 7 parameters, listed in the table below. |
| The <cite>code</cite>, <cite>name</cite> and <cite>abbreviation</cite> columns list EPSG identifiers, |
| while the <cite>legacy</cite> column lists the identifiers used in the legacy OGC 01-009 specification |
| (still used in some <cite>Well Known Texts</cite>). |
| |
| <div class="horizontal-flow"> |
| <div><table class="sis"> |
| <caption>Parameters defined by EPSG</caption> |
| <tr><th>Code</th> <th>Name</th> <th>Abbr.</th> <th>Legacy</th></tr> |
| <tr><td>8605</td> <td>X-axis translation</td> <td><a href="#tX"><code>tX</code></a></td> <td><code>dx</code></td></tr> |
| <tr><td>8606</td> <td>Y-axis translation</td> <td><a href="#tY"><code>tY</code></a></td> <td><code>dy</code></td></tr> |
| <tr><td>8607</td> <td>Z-axis translation</td> <td><a href="#tZ"><code>tZ</code></a></td> <td><code>dz</code></td></tr> |
| <tr><td>8608</td> <td>X-axis rotation</td> <td><a href="#rX"><code>rX</code></a></td> <td><code>ex</code></td></tr> |
| <tr><td>8609</td> <td>Y-axis rotation</td> <td><a href="#rY"><code>rY</code></a></td> <td><code>ey</code></td></tr> |
| <tr><td>8610</td> <td>Z-axis rotation</td> <td><a href="#rZ"><code>rZ</code></a></td> <td><code>ez</code></td></tr> |
| <tr><td>8611</td> <td>Scale difference</td> <td><a href="#dS"><code>dS</code></a></td> <td><code>ppm</code></td></tr> |
| </table></div> |
| <div><p><b>Geocentric coordinates transformation</b></p> |
| <p>from (<var>X</var><sub>s</sub>, <var>Y</var><sub>s</sub>, <var>Z</var><sub>s</sub>) |
| to (<var>X</var><sub>t</sub>, <var>Y</var><sub>t</sub>, <var>Z</var><sub>t</sub>) |
| <br><span style="font-size:small">(ignoring unit conversions)</span></p> |
| |
| <p> <math display="block" alttext="MathML capable browser required"> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr><mtd><msub><mi>X</mi><mi>t</mi></msub></mtd></mtr> |
| <mtr><mtd><msub><mi>Y</mi><mi>t</mi></msub></mtd></mtr> |
| <mtr><mtd><msub><mi>Z</mi><mi>t</mi></msub></mtd></mtr> |
| </mtable> |
| </mfenced> |
| <mo>=</mo> |
| <mo>(</mo><mn>1</mn><mo>+</mo><mi>dS</mi><mo>)</mo> |
| <mo>⋅</mo> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr> |
| <mtd><mn>1</mn></mtd> |
| <mtd><mo>-</mo><msub><mi>r</mi><mi>z</mi></msub></mtd> |
| <mtd><mo>+</mo><msub><mi>r</mi><mi>y</mi></msub></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mo>+</mo><msub><mi>r</mi><mi>z</mi></msub></mtd> |
| <mtd><mn>1</mn></mtd> |
| <mtd><mo>-</mo><msub><mi>r</mi><mi>x</mi></msub></mtd> |
| </mtr> |
| <mtr> |
| <mtd><mo>-</mo><msub><mi>r</mi><mi>y</mi></msub></mtd> |
| <mtd><mo>+</mo><msub><mi>r</mi><mi>x</mi></msub></mtd> |
| <mtd><mn>1</mn></mtd> |
| </mtr> |
| </mtable> |
| </mfenced> |
| <mo>×</mo> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr><mtd><msub><mi>X</mi><mi>s</mi></msub></mtd></mtr> |
| <mtr><mtd><msub><mi>Y</mi><mi>s</mi></msub></mtd></mtr> |
| <mtr><mtd><msub><mi>Z</mi><mi>s</mi></msub></mtd></mtr> |
| </mtable> |
| </mfenced> |
| <mo>+</mo> |
| <mfenced open="[" close="]"> |
| <mtable> |
| <mtr><mtd><msub><mi>t</mi><mi>x</mi></msub></mtd></mtr> |
| <mtr><mtd><msub><mi>t</mi><mi>y</mi></msub></mtd></mtr> |
| <mtr><mtd><msub><mi>t</mi><mi>z</mi></msub></mtd></mtr> |
| </mtable> |
| </mfenced> |
| </math> |
| </p> |
| </div></div> |
| |
| The numerical fields in this <code>BursaWolfParameters</code> class use the EPSG abbreviations |
| with 4 additional constraints compared to the EPSG definitions: |
| |
| <ul> |
| <li>Unit of scale difference (<a href="#dS"><code>dS</code></a>) is fixed to <em>parts per million</em>.</li> |
| <li>Unit of translation terms (<a href="#tX"><code>tX</code></a>, <a href="#tY"><code>tY</code></a>, <a href="#tZ"><code>tZ</code></a>) is fixed to <em>metres</em>.</li> |
| <li>Unit of rotation terms (<a href="#rX"><code>rX</code></a>, <a href="#rY"><code>rY</code></a>, <a href="#rZ"><code>rZ</code></a>) is fixed to <em>arc-seconds</em>.</li> |
| <li>Sign of rotation terms is fixed to the <em>Position Vector</em> convention (EPSG operation method 9606). |
| This is the opposite sign than the <cite>Coordinate Frame Rotation</cite> (EPSG operation method 9607). |
| The Position Vector convention is used by IAG and recommended by ISO 19111.</li> |
| </ul> |
| |
| <div class="section">Source and target geodetic datum</div> |
| The <var>source datum</var> in above coordinates transformation is the <a href="DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum"><code>DefaultGeodeticDatum</code></a> instance |
| that contain this <code>BursaWolfParameters</code>. It can be any datum, including datum that are valid only locally. |
| The <var><a href="#getTargetDatum()">target datum</a></var> is specified at construction time and is often, |
| but not necessarily, the <cite>World Geodetic System 1984</cite> (WGS 84) datum. |
| |
| <p>If the source and target datum does not have the same <a href="DefaultGeodeticDatum.html#getPrimeMeridian()">prime meridian</a>, then it is user's responsibility to apply longitude rotation before to use the Bursa-Wolf |
| parameters.</p> |
| |
| <div class="section">When Bursa-Wolf parameters are used</div> |
| <code>BursaWolfParameters</code> are used in three contexts: |
| <ol> |
| <li>Created as a step while creating a <a href="../operation/AbstractCoordinateOperation.html" title="class in org.apache.sis.referencing.operation">coordinate operation</a> from the EPSG database.</li> |
| <li>Associated to a <a href="DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum"><code>DefaultGeodeticDatum</code></a> with the WGS 84 <a href="#getTargetDatum()">target datum</a> for |
| providing the parameter values to display in the <code>TOWGS84[…]</code> element of <cite>Well Known Text</cite> |
| (WKT) version 1. Note that WKT version 2 does not have <code>TOWGS84[…]</code> element anymore.</li> |
| <li>Specified at <code>DefaultGeodeticDatum</code> construction time for arbitrary target datum. |
| Apache SIS will ignore those Bursa-Wolf parameters, except as a fallback if no parameters |
| can been found in the EPSG database for a given pair of source and target CRS.</li> |
| </ol> |
| |
| <div class="note"><b>Note:</b> |
| In EPSG terminology, Apache SIS gives precedence to the <cite>late-binding</cite> approach |
| (case 1 above) over the <cite>early-binding</cite> approach (case 3 above).</div></div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.4</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="DefaultGeodeticDatum.html#getBursaWolfParameters()"><code>DefaultGeodeticDatum.getBursaWolfParameters()</code></a>, |
| <a href="http://en.wikipedia.org/wiki/Helmert_transformation">Wikipedia: Helmert transformation</a>, |
| <a href="../../../../../serialized-form.html#org.apache.sis.referencing.datum.BursaWolfParameters">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"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Field</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dS">dS</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">The scale difference in parts per million (EPSG:8611).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rX">rX</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">X-axis rotation in arc-seconds (EPSG:8608), sign following the <cite>Position Vector</cite> convention.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rY">rY</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Y-axis rotation in arc-seconds (EPSG:8609), sign following the <cite>Position Vector</cite> convention.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rZ">rZ</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Z-axis rotation in arc-seconds (EPSG:8610), sign following the <cite>Position Vector</cite> convention.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tX">tX</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">X-axis translation in metres (EPSG:8605).</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tY">tY</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Y-axis translation in metres (EPSG:8606).</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>double</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tZ">tZ</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Z-axis translation in metres (EPSG:8607).</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.referencing.datum.GeodeticDatum,org.opengis.metadata.extent.Extent)">BursaWolfParameters</a></span>​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a> targetDatum, |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/Extent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Extent</a> domainOfValidity)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a new instance for the given target datum and domain of validity.</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="BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</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 copy of this object.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>​(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> object)</code></th> |
| <td class="colLast"> |
| <div class="block">Compares the specified object with this object for equality.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo</a></span>​(<a href="../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a> formatter)</code></th> |
| <td class="colLast"> |
| <div class="block">Formats this object as a <cite>Well Known Text</cite> <code>ToWGS84[…]</code> element.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/Extent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Extent</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDomainOfValidity()">getDomainOfValidity</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the region or timeframe in which a coordinate transformation based on those Bursa-Wolf parameters is |
| valid, or <code>null</code> if unspecified.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPositionVectorTransformation(java.util.Date)">getPositionVectorTransformation</a></span>​(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a> time)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the position vector transformation (geocentric domain) as an affine transform.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTargetDatum()">getTargetDatum</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the target datum for this set of parameters, or <code>null</code> if unknown.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>double[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValues()">getValues</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the parameter values.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a hash value for this object.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#invert()">invert</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Inverts in-place the transformation by inverting the sign of all numerical parameters.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isIdentity()">isIdentity</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns <code>true</code> if a transformation built from this set of parameters would perform no operation.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTranslation()">isTranslation</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns <code>true</code> if a transformation built from this set of parameters would perform only a translation.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reverseRotation()">reverseRotation</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Inverts in-place the sign of rotation terms (<a href="#rX"><code>rX</code></a>, <a href="#rY"><code>rY</code></a>, <a href="#rZ"><code>rZ</code></a>).</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPositionVectorTransformation(org.opengis.referencing.operation.Matrix,double)">setPositionVectorTransformation</a></span>​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a> matrix, |
| double tolerance)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets all Bursa-Wolf parameters from the given <cite>Position Vector transformation</cite> matrix.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValues(double...)">setValues</a></span>​(double... elements)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets the parameters to the given values.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.FormattableObject"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class <a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></h3> |
| <code><a href="../../io/wkt/FormattableObject.html#print()">print</a>, <a href="../../io/wkt/FormattableObject.html#toString()">toString</a>, <a href="../../io/wkt/FormattableObject.html#toString(org.apache.sis.io.wkt.Convention)">toString</a>, <a href="../../io/wkt/FormattableObject.html#toWKT()">toWKT</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3> |
| <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#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"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a id="tX"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>tX</h4> |
| <pre>public double tX</pre> |
| <div class="block">X-axis translation in metres (EPSG:8605). |
| The legacy OGC parameter name is <code>"dx"</code>.</div> |
| </li> |
| </ul> |
| <a id="tY"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>tY</h4> |
| <pre>public double tY</pre> |
| <div class="block">Y-axis translation in metres (EPSG:8606). |
| The legacy OGC parameter name is <code>"dy"</code>.</div> |
| </li> |
| </ul> |
| <a id="tZ"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>tZ</h4> |
| <pre>public double tZ</pre> |
| <div class="block">Z-axis translation in metres (EPSG:8607). |
| The legacy OGC parameter name is <code>"dz"</code>.</div> |
| </li> |
| </ul> |
| <a id="rX"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rX</h4> |
| <pre>public double rX</pre> |
| <div class="block">X-axis rotation in arc-seconds (EPSG:8608), sign following the <cite>Position Vector</cite> convention. |
| The legacy OGC parameter name is <code>"ex"</code>.</div> |
| </li> |
| </ul> |
| <a id="rY"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rY</h4> |
| <pre>public double rY</pre> |
| <div class="block">Y-axis rotation in arc-seconds (EPSG:8609), sign following the <cite>Position Vector</cite> convention. |
| The legacy OGC parameter name is <code>"ey"</code>.</div> |
| </li> |
| </ul> |
| <a id="rZ"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rZ</h4> |
| <pre>public double rZ</pre> |
| <div class="block">Z-axis rotation in arc-seconds (EPSG:8610), sign following the <cite>Position Vector</cite> convention. |
| The legacy OGC parameter name is <code>"ez"</code>.</div> |
| </li> |
| </ul> |
| <a id="dS"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>dS</h4> |
| <pre>public double dS</pre> |
| <div class="block">The scale difference in parts per million (EPSG:8611). |
| The legacy OGC parameter name is <code>"ppm"</code>. |
| |
| <div class="note"><b>Example:</b> |
| If a distance of 100 km in the source coordinate reference system translates into a distance of 100.001 km |
| in the target coordinate reference system, the scale difference is 1 ppm (the ratio being 1.000001).</div></div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= 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.datum.GeodeticDatum,org.opengis.metadata.extent.Extent)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>BursaWolfParameters</h4> |
| <pre>public BursaWolfParameters​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a> targetDatum, |
| <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/Extent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Extent</a> domainOfValidity)</pre> |
| <div class="block">Creates a new instance for the given target datum and domain of validity. |
| All numerical parameters are initialized to 0, which correspond to an identity transform. |
| Callers can assign numerical values to the public fields of interest after construction. |
| For example, many coordinate transformations will provide values only for the translation |
| terms (<a href="#tX"><code>tX</code></a>, <a href="#tY"><code>tY</code></a>, <a href="#tZ"><code>tZ</code></a>). |
| |
| <p>Alternatively, numerical fields can also be initialized by a call to |
| <a href="#setPositionVectorTransformation(org.opengis.referencing.operation.Matrix,double)"><code>setPositionVectorTransformation(Matrix, double)</code></a>.</p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>targetDatum</code> - the target datum (usually WGS 84) for this set of parameters, or <code>null</code> if unknown.</dd> |
| <dd><code>domainOfValidity</code> - area or region in which a coordinate transformation based on those Bursa-Wolf parameters |
| is valid, or <code>null</code> is unspecified.</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="getTargetDatum()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTargetDatum</h4> |
| <pre class="methodSignature">public <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/datum/GeodeticDatum.html?is-external=true" title="class or interface in org.opengis.referencing.datum" class="externalLink">GeodeticDatum</a> getTargetDatum()</pre> |
| <div class="block">Returns the target datum for this set of parameters, or <code>null</code> if unknown. |
| This is usually the WGS 84 datum, but other targets are allowed. |
| |
| <p>The source datum is the <a href="DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum"><code>DefaultGeodeticDatum</code></a> that contain this <code>BursaWolfParameters</code> |
| instance.</p></div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the target datum for this set of parameters, or <code>null</code> if unknown.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getValues()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getValues</h4> |
| <pre class="methodSignature">public double[] getValues()</pre> |
| <div class="block">Returns the parameter values. The length of the returned array depends on the values: |
| |
| <ul> |
| <li>If this instance is an <a href="TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum"><code>TimeDependentBWP</code></a>, then the array length will be 14.</li> |
| <li>Otherwise if this instance contains a non-zero <a href="#dS"><code>dS</code></a> value, then the array length will be 7 with |
| <a href="#tX"><code>tX</code></a>, <a href="#tY"><code>tY</code></a>, <a href="#tZ"><code>tZ</code></a>, <a href="#rX"><code>rX</code></a>, <a href="#rY"><code>rY</code></a>, <a href="#rZ"><code>rZ</code></a> and <a href="#dS"><code>dS</code></a> values |
| in that order.</li> |
| <li>Otherwise if this instance contains non-zero rotation terms, |
| then this method returns the first 6 of the above-cited values.</li> |
| <li>Otherwise (i.e. this instance <a href="#isTranslation()">is a translation</a>), |
| this method returns only the first 3 of the above-cited values.</li> |
| </ul> |
| |
| <div class="note"><b>Note:</b> |
| the rules about the arrays of length 3, 6 or 7 are derived from the <cite>Well Known Text</cite> (WKT) |
| version 1 specification. The rule about the array of length 14 is an extension.</div></div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the parameter values as an array of length 3, 6, 7 or 14.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.6</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setValues(double...)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setValues</h4> |
| <pre class="methodSignature">public void setValues​(double... elements)</pre> |
| <div class="block">Sets the parameters to the given values. The given array can have any length. The first array elements will be |
| assigned to the <a href="#tX"><code>tX</code></a>, <a href="#tY"><code>tY</code></a>, <a href="#tZ"><code>tZ</code></a>, <a href="#rX"><code>rX</code></a>, <a href="#rY"><code>rY</code></a>, <a href="#rZ"><code>rZ</code></a> and <a href="#dS"><code>dS</code></a> |
| fields in that order. |
| |
| <ul> |
| <li>If the length of the given array is not sufficient for assigning a value to every fields, |
| then the remaining fields are left unchanged (they are <strong>not</strong> reset to zero, |
| but this is not a problem if this <code>BursaWolfParameters</code> is a new instance).</li> |
| <li>If the length of the given array is greater than necessary, then extra elements are ignored by this base |
| class. Note however that those extra elements may be used by subclasses like <a href="TimeDependentBWP.html" title="class in org.apache.sis.referencing.datum"><code>TimeDependentBWP</code></a>.</li> |
| </ul></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>elements</code> - the new parameter values, as an array of any length.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.6</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isIdentity()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isIdentity</h4> |
| <pre class="methodSignature">public boolean isIdentity()</pre> |
| <div class="block">Returns <code>true</code> if a transformation built from this set of parameters would perform no operation. |
| This is true when the value of all parameters is zero.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>true</code> if the parameters describe no operation.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isTranslation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isTranslation</h4> |
| <pre class="methodSignature">public boolean isTranslation()</pre> |
| <div class="block">Returns <code>true</code> if a transformation built from this set of parameters would perform only a translation.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>true</code> if the parameters describe a translation only.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="reverseRotation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>reverseRotation</h4> |
| <pre class="methodSignature">public void reverseRotation()</pre> |
| <div class="block">Inverts in-place the sign of rotation terms (<a href="#rX"><code>rX</code></a>, <a href="#rY"><code>rY</code></a>, <a href="#rZ"><code>rZ</code></a>). |
| This method can be invoked for converting a <cite>Coordinate Frame Rotation</cite> transformation |
| (EPSG operation method 9607) to a <em>Position Vector</em> transformation (EPSG operation method 9606). |
| The later convention is used by IAG and recommended by ISO 19111.</div> |
| </li> |
| </ul> |
| <a id="invert()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>invert</h4> |
| <pre class="methodSignature">public void invert()</pre> |
| <div class="block">Inverts in-place the transformation by inverting the sign of all numerical parameters. |
| The <a href="#getPositionVectorTransformation(java.util.Date)">position vector transformation</a> matrix |
| created from inverted Bursa-Wolf parameters will be <strong>approximately</strong> equals |
| to the <a href="../operation/matrix/MatrixSIS.html#inverse()">inverse</a> |
| of the matrix created from the original parameters. The equality holds approximately only |
| because the parameter values are very small (parts per millions and arc-seconds).</div> |
| </li> |
| </ul> |
| <a id="getPositionVectorTransformation(java.util.Date)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getPositionVectorTransformation</h4> |
| <pre class="methodSignature">public <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a> getPositionVectorTransformation​(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a> time)</pre> |
| <div class="block">Returns the position vector transformation (geocentric domain) as an affine transform. |
| For transformations that do not depend on time, the formula is as below where <code>R</code> |
| is a conversion factor from arc-seconds to radians: |
| |
| <blockquote><pre> R = toRadians(1″) |
| S = 1 + <a href="#dS">dS</a>/1000000 |
| ┌ ┐ ┌ ┐ ┌ ┐ |
| │ X' │ │ S -<a href="#rZ">rZ</a>*RS +<a href="#rY">rY</a>*RS <a href="#tX">tX</a> │ │ X │ |
| │ Y' │ = │ +<a href="#rZ">rZ</a>*RS S -<a href="#rX">rX</a>*RS <a href="#tY">tY</a> │ │ Y │ |
| │ Z' │ │ -<a href="#rY">rY</a>*RS +<a href="#rX">rX</a>*RS S <a href="#tZ">tZ</a> │ │ Z │ |
| │ 1 │ │ 0 0 0 1 │ │ 1 │ |
| └ ┘ └ ┘ └ ┘</pre></blockquote> |
| |
| This affine transform can be applied on <strong>geocentric</strong> coordinates. |
| This is identified as operation method 1033 in the EPSG database. |
| Those geocentric coordinates are typically converted from geographic coordinates |
| in the region or timeframe given by <a href="#getDomainOfValidity()"><code>getDomainOfValidity()</code></a>. |
| |
| <p>If the source datum and the <a href="#getTargetDatum()">target datum</a> do not use the same |
| <a href="DefaultGeodeticDatum.html#getPrimeMeridian()">prime meridian</a>, then it is caller's responsibility |
| to apply longitude rotation before to use the matrix returned by this method.</p> |
| |
| <div class="section">Time-dependent transformation</div> |
| Some transformations use parameters that vary with time (e.g. operation method EPSG:1053). |
| Users can optionally specify a date for which the transformation is desired. |
| For transformations that do not depends on time, this date is ignored and can be null. |
| For time-dependent transformations, <code>null</code> values default to the transformation's |
| <a href="TimeDependentBWP.html#getTimeReference()">reference time</a>. |
| |
| <div class="section">Inverse transformation</div> |
| The inverse transformation can be approximated by reversing the sign of the 7 parameters before to use them |
| in the above matrix. This is often considered sufficient since <cite>position vector transformations</cite> |
| are themselves approximations. However Apache SIS will rather use |
| <a href="../operation/matrix/MatrixSIS.html#inverse()"><code>MatrixSIS.inverse()</code></a> in order to increase the chances |
| that concatenation of transformations <var>A</var> → <var>B</var> followed by <var>B</var> → <var>A</var> |
| gives back the identity transform.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>time</code> - date for which the transformation is desired, or <code>null</code> for the transformation's reference time.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>an affine transform in geocentric space created from this Bursa-Wolf parameters and the given time.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="DefaultGeodeticDatum.html#getPositionVectorTransformation(org.opengis.referencing.datum.GeodeticDatum,org.opengis.metadata.extent.Extent)"><code>DefaultGeodeticDatum.getPositionVectorTransformation(GeodeticDatum, Extent)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setPositionVectorTransformation(org.opengis.referencing.operation.Matrix,double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setPositionVectorTransformation</h4> |
| <pre class="methodSignature">public void setPositionVectorTransformation​(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a> matrix, |
| double tolerance) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></pre> |
| <div class="block">Sets all Bursa-Wolf parameters from the given <cite>Position Vector transformation</cite> matrix. |
| The matrix shall comply to the following constraints: |
| |
| <ul> |
| <li>The matrix shall be <a href="../operation/matrix/MatrixSIS.html#isAffine()">affine</a>.</li> |
| <li>The sub-matrix defined by <code>matrix</code> without the last row and last column shall be |
| <a href="http://en.wikipedia.org/wiki/Skew-symmetric_matrix">skew-symmetric</a> (a.k.a. antisymmetric).</li> |
| </ul></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>matrix</code> - the matrix from which to get Bursa-Wolf parameters.</dd> |
| <dd><code>tolerance</code> - the tolerance error for the skew-symmetric matrix test, in units of PPM or arc-seconds (e.g. 1E-8).</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - if the specified matrix does not met the conditions.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#getPositionVectorTransformation(java.util.Date)"><code>getPositionVectorTransformation(Date)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getDomainOfValidity()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDomainOfValidity</h4> |
| <pre class="methodSignature">public <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/Extent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Extent</a> getDomainOfValidity()</pre> |
| <div class="block">Returns the region or timeframe in which a coordinate transformation based on those Bursa-Wolf parameters is |
| valid, or <code>null</code> if unspecified. If an extent was specified at construction time, then that extent is |
| returned. Otherwise the datum domain of validity (which may be <code>null</code>) is returned.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>area or region or timeframe in which the coordinate transformation is valid, or <code>null</code>.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../metadata/iso/extent/DefaultExtent.html" title="class in org.apache.sis.metadata.iso.extent"><code>DefaultExtent</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="clone()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>clone</h4> |
| <pre class="methodSignature">public <a href="BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a> clone()</pre> |
| <div class="block">Returns a copy of this object.</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#clone()" title="class or interface in java.lang" class="externalLink">clone</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>a copy of all parameters.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="equals(java.lang.Object)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre class="methodSignature">public boolean equals​(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> object)</pre> |
| <div class="block">Compares the specified object with this object 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 <code>BursaWolfParameters</code>.</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 value for this object.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the hash code value. This value does not need to be the same in past or future versions of this class.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="formatTo(org.apache.sis.io.wkt.Formatter)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>formatTo</h4> |
| <pre class="methodSignature">protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> formatTo​(<a href="../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a> formatter)</pre> |
| <div class="block">Formats this object as a <cite>Well Known Text</cite> <code>ToWGS84[…]</code> element. |
| The WKT contains the parameters in <var>translation</var>, <var>rotation</var>, <var>scale</var> order, |
| like below: |
| |
| <blockquote><code>TOWGS84[<a href="#tX">tX</a>, <a href="#tY">tY</a>, <a href="#tZ">tZ</a>, <a href="#rX">rX</a>, |
| <a href="#rY">rY</a>, <a href="#rZ">rZ</a>, <a href="#dS">dS</a>]</code></blockquote> |
| |
| <div class="note"><b>Compatibility note:</b> |
| <code>TOWGS84</code> is defined in the WKT 1 specification only.</div> |
| |
| The element name is <code>"ToWGS84"</code> in the common case where the <a href="#getTargetDatum()">target datum</a> |
| is WGS 84. For other targets, the element name will be derived from the datum name.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../io/wkt/FormattableObject.html#formatTo(org.apache.sis.io.wkt.Formatter)">formatTo</a></code> in class <code><a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>formatter</code> - The formatter where to format the inner content of this WKT element.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Usually <code>"ToWGS84"</code>.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../io/wkt/FormattableObject.html#toWKT()"><code>FormattableObject.toWKT()</code></a>, |
| <a href="../../io/wkt/FormattableObject.html#toString()"><code>FormattableObject.toString()</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </main> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <footer role="contentinfo"> |
| <nav role="navigation"> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a id="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/BursaWolfParameters.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>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </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><a href="#field.detail">Field</a> | </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> |