<!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&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.referencing.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">Time­Dependent­BWP</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>Default­Geodetic­Datum</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>Bursa­Wolf­Parameters</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>d­S</code></a>) is fixed to <em>parts per million</em>.</li>
   <li>Unit of translation terms (<a href="#tX"><code>t­X</code></a>, <a href="#tY"><code>t­Y</code></a>, <a href="#tZ"><code>t­Z</code></a>) is fixed to <em>metres</em>.</li>
   <li>Unit of rotation terms (<a href="#rX"><code>r­X</code></a>, <a href="#rY"><code>r­Y</code></a>, <a href="#rZ"><code>r­Z</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>Default­Geodetic­Datum</code></a> instance
 that contain this <code>Bursa­Wolf­Parameters</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>Bursa­Wolf­Parameters</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>Default­Geodetic­Datum</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>Default­Geodetic­Datum</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>Default­Geodetic­Datum​.get­Bursa­Wolf­Parameters()</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">&nbsp;</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">&nbsp;</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>&#8203;(<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>&nbsp;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>&nbsp;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">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><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>&#8203;(<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>&nbsp;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>&#8203;(<a href="../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a>&nbsp;formatter)</code></th>
<td class="colLast">
<div class="block">Formats this object as a <cite>Well Known Text</cite> <code>To­WGS84[…]</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>&#8203;(<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>&nbsp;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>r­X</code></a>, <a href="#rY"><code>r­Y</code></a>, <a href="#rZ"><code>r­Z</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>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a>&nbsp;matrix,
                               double&nbsp;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>&#8203;(double...&nbsp;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&nbsp;<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()">to­String</a>, <a href="../../io/wkt/FormattableObject.html#toString(org.apache.sis.io.wkt.Convention)">to­String</a>, <a href="../../io/wkt/FormattableObject.html#toWKT()">to­WKT</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">get­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notify­All</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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="&lt;init&gt;(org.opengis.referencing.datum.GeodeticDatum,org.opengis.metadata.extent.Extent)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BursaWolfParameters</h4>
<pre>public&nbsp;BursaWolfParameters&#8203;(<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>&nbsp;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>&nbsp;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>t­X</code></a>, <a href="#tY"><code>t­Y</code></a>, <a href="#tZ"><code>t­Z</code></a>).

 <p>Alternatively, numerical fields can also be initialized by a call to
 <a href="#setPositionVectorTransformation(org.opengis.referencing.operation.Matrix,double)"><code>set­Position­Vector­Transformation(Matrix, double)</code></a>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target­Datum</code> - the target datum (usually WGS 84) for this set of parameters, or <code>null</code> if unknown.</dd>
<dd><code>domain­Of­Validity</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&nbsp;<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>&nbsp;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>Default­Geodetic­Datum</code></a> that contain this <code>Bursa­Wolf­Parameters</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&nbsp;double[]&nbsp;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>Time­Dependent­BWP</code></a>, then the array length will be 14.</li>
   <li>Otherwise if this instance contains a non-zero <a href="#dS"><code>d­S</code></a> value, then the array length will be 7 with
       <a href="#tX"><code>t­X</code></a>, <a href="#tY"><code>t­Y</code></a>, <a href="#tZ"><code>t­Z</code></a>, <a href="#rX"><code>r­X</code></a>, <a href="#rY"><code>r­Y</code></a>, <a href="#rZ"><code>r­Z</code></a> and <a href="#dS"><code>d­S</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&nbsp;void&nbsp;setValues&#8203;(double...&nbsp;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>t­X</code></a>, <a href="#tY"><code>t­Y</code></a>, <a href="#tZ"><code>t­Z</code></a>, <a href="#rX"><code>r­X</code></a>, <a href="#rY"><code>r­Y</code></a>, <a href="#rZ"><code>r­Z</code></a> and <a href="#dS"><code>d­S</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>Bursa­Wolf­Parameters</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>Time­Dependent­BWP</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&nbsp;boolean&nbsp;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&nbsp;boolean&nbsp;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&nbsp;void&nbsp;reverseRotation()</pre>
<div class="block">Inverts in-place the sign of rotation terms (<a href="#rX"><code>r­X</code></a>, <a href="#rY"><code>r­Y</code></a>, <a href="#rZ"><code>r­Z</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&nbsp;void&nbsp;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&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a>&nbsp;getPositionVectorTransformation&#8203;(<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>&nbsp;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>get­Domain­Of­Validity()</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>Matrix­SIS​.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>Default­Geodetic­Datum​.get­Position­Vector­Transformation(Geodetic­Datum, 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&nbsp;void&nbsp;setPositionVectorTransformation&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/Matrix.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Matrix</a>&nbsp;matrix,
                                            double&nbsp;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">Illegal­Argument­Exception</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>get­Position­Vector­Transformation(Date)</code></a></dd>
</dl>
</li>
</ul>
<a id="getDomainOfValidity()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDomainOfValidity</h4>
<pre class="methodSignature">public&nbsp;<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>&nbsp;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>Default­Extent</code></a></dd>
</dl>
</li>
</ul>
<a id="clone()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre class="methodSignature">public&nbsp;<a href="BursaWolfParameters.html" title="class in org.apache.sis.referencing.datum">BursaWolfParameters</a>&nbsp;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>&nbsp;in class&nbsp;<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&nbsp;boolean&nbsp;equals&#8203;(<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>&nbsp;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>&nbsp;in class&nbsp;<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>Bursa­Wolf­Parameters</code>.</dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;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">hash­Code</a></code>&nbsp;in class&nbsp;<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&nbsp;<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>&nbsp;formatTo&#8203;(<a href="../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a>&nbsp;formatter)</pre>
<div class="block">Formats this object as a <cite>Well Known Text</cite> <code>To­WGS84[…]</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">t­X</a>, <a href="#tY">t­Y</a>, <a href="#tZ">t­Z</a>, <a href="#rX">r­X</a>,
 <a href="#rY">r­Y</a>, <a href="#rZ">r­Z</a>, <a href="#dS">d­S</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>"To­WGS84"</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)">format­To</a></code>&nbsp;in class&nbsp;<code><a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">Formattable­Object</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>"To­WGS84"</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../io/wkt/FormattableObject.html#toWKT()"><code>Formattable­Object​.to­WKT()</code></a>, 
<a href="../../io/wkt/FormattableObject.html#toString()"><code>Formattable­Object​.to­String()</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&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
