<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>Mollweide (Apache SIS 1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2019-09-20">
<meta name="keywords" content="org.apache.sis.referencing.operation.projection.Mollweide class">
<meta name="keywords" content="transform()">
<meta name="keywords" content="inverseTransform()">
<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="Mollweide (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":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/Mollweide.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><a href="#nested.class.summary">Nested</a>&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>Field&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.operation.projection</a></div>
<h2 title="Class Mollweide" class="title">Class Mollweide</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><a href="../transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></li>
<li>
<ul class="inheritance">
<li><a href="../transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></li>
<li>
<ul class="inheritance">
<li><a href="NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></li>
<li>
<ul class="inheritance">
<li>Mollweide</li>
</ul>
</li>
</ul>
</li>
</ul>
</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="../../../parameter/Parameterized.html" title="interface in org.apache.sis.parameter">Parameterized</a></code>, <code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Math­Transform</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform2D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Math­Transform2D</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">Mollweide</span>
extends <a href="NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></pre>
<div class="block"><cite>Mollweide</cite> projection.
 See the <a href="http://mathworld.wolfram.com/MollweideProjection.html">Mollweide projection on MathWorld</a>
 or the <a href="https://en.wikipedia.org/wiki/Mollweide_projection">Mollweide projection on Wikipedia</a>
 for an overview.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.apache.sis.referencing.operation.projection.Mollweide">Serialized Form</a></dd>

<p><font size="-1">Defined in the <code>sis-referencing</code> module</font></p>
<dt><span class="simpleTagLabel">TODO:</span></dt>
<dd>This projection is not <a href="../../../math/FunctionProperty.html#SURJECTIVE"><code>surjective</code></a>.
       Consequently <a href="../../CRS.html#suggestCommonTarget(org.opengis.metadata.extent.GeographicBoundingBox,org.opengis.referencing.crs.CoordinateReferenceSystem...)"><code>CRS​.suggest­Common­Target(…)</code></a>
       may not work correctly if a CRS uses this projection.
       See <a href="https://issues.apache.org/jira/browse/SIS-427">SIS-427</a>.</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.sis.referencing.operation.projection.NormalizedProjection">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;<a href="NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></h3>
<code><a href="NormalizedProjection.ParameterRole.html" title="enum in org.apache.sis.referencing.operation.projection">Normalized­Projection​.Parameter­Role</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.NormalizedProjection">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;<a href="NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></h3>
<code><a href="NormalizedProjection.html#eccentricity">eccentricity</a>, <a href="NormalizedProjection.html#eccentricitySquared">eccentricity­Squared</a></code></li>
</ul>
</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.operation.OperationMethod,org.apache.sis.parameter.Parameters)">Mollweide</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/OperationMethod.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">OperationMethod</a>&nbsp;method,
         <a href="../../../parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a>&nbsp;parameters)</code></th>
<td class="colLast">
<div class="block">Creates a Mollweide projection from the given parameters.</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>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverseTransform</a></span>&#8203;(double[]&nbsp;srcPts,
                int&nbsp;srcOff,
                double[]&nbsp;dstPts,
                int&nbsp;dstOff)</code></th>
<td class="colLast">
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates
 and stores the result in <code>dst­Pts</code> (angles in radians).</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<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="#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform</a></span>&#8203;(double[]&nbsp;srcPts,
         int&nbsp;srcOff,
         double[]&nbsp;dstPts,
         int&nbsp;dstOff,
         boolean&nbsp;derivate)</code></th>
<td class="colLast">
<div class="block">Converts the specified (λ,φ) coordinate and stores the (<var>x</var>,<var>y</var>) result in <code>dst­Pts</code>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.NormalizedProjection">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">NormalizedProjection</a></h3>
<code><a href="NormalizedProjection.html#computeHashCode()">compute­Hash­Code</a>, <a href="NormalizedProjection.html#createMapProjection(org.opengis.referencing.operation.MathTransformFactory)">create­Map­Projection</a>, <a href="NormalizedProjection.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a>, <a href="NormalizedProjection.html#getContextualParameters()">get­Contextual­Parameters</a>, <a href="NormalizedProjection.html#getParameterDescriptors()">get­Parameter­Descriptors</a>, <a href="NormalizedProjection.html#getParameterValues()">get­Parameter­Values</a>, <a href="NormalizedProjection.html#inverse()">inverse</a>, <a href="NormalizedProjection.html#tryConcatenate(boolean,org.opengis.referencing.operation.MathTransform,org.opengis.referencing.operation.MathTransformFactory)">try­Concatenate</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.AbstractMathTransform2D">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../transform/AbstractMathTransform2D.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform2D</a></h3>
<code><a href="../transform/AbstractMathTransform2D.html#createTransformedShape(java.awt.Shape)">create­Transformed­Shape</a>, <a href="../transform/AbstractMathTransform2D.html#derivative(java.awt.geom.Point2D)">derivative</a>, <a href="../transform/AbstractMathTransform2D.html#getSourceDimensions()">get­Source­Dimensions</a>, <a href="../transform/AbstractMathTransform2D.html#getTargetDimensions()">get­Target­Dimensions</a>, <a href="../transform/AbstractMathTransform2D.html#transform(java.awt.geom.Point2D,java.awt.geom.Point2D)">transform</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.AbstractMathTransform">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../transform/AbstractMathTransform.html" title="class in org.apache.sis.referencing.operation.transform">AbstractMathTransform</a></h3>
<code><a href="../transform/AbstractMathTransform.html#derivative(org.opengis.geometry.DirectPosition)">derivative</a>, <a href="../transform/AbstractMathTransform.html#equals(java.lang.Object)">equals</a>, <a href="../transform/AbstractMathTransform.html#formatTo(org.apache.sis.io.wkt.Formatter)">format­To</a>, <a href="../transform/AbstractMathTransform.html#hashCode()">hash­Code</a>, <a href="../transform/AbstractMathTransform.html#isIdentity()">is­Identity</a>, <a href="../transform/AbstractMathTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)">transform</a>, <a href="../transform/AbstractMathTransform.html#transform(double%5B%5D,int,float%5B%5D,int,int)">transform</a>, <a href="../transform/AbstractMathTransform.html#transform(float%5B%5D,int,double%5B%5D,int,int)">transform</a>, <a href="../transform/AbstractMathTransform.html#transform(float%5B%5D,int,float%5B%5D,int,int)">transform</a>, <a href="../transform/AbstractMathTransform.html#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)">transform</a></code></li>
</ul>
<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#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.MathTransform">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#derivative(org.opengis.geometry.DirectPosition)" title="class or interface in org.opengis.referencing.operation" class="externalLink">derivative</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#isIdentity()" title="class or interface in org.opengis.referencing.operation" class="externalLink">is­Identity</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#toWKT()" title="class or interface in org.opengis.referencing.operation" class="externalLink">to­WKT</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(double%5B%5D,int,double%5B%5D,int,int)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(double%5B%5D,int,float%5B%5D,int,int)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(float%5B%5D,int,double%5B%5D,int,int)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(float%5B%5D,int,float%5B%5D,int,int)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)" title="class or interface in org.opengis.referencing.operation" class="externalLink">transform</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.opengis.referencing.operation.OperationMethod,org.apache.sis.parameter.Parameters)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Mollweide</h4>
<pre>public&nbsp;Mollweide&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/OperationMethod.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">OperationMethod</a>&nbsp;method,
                 <a href="../../../parameter/Parameters.html" title="class in org.apache.sis.parameter">Parameters</a>&nbsp;parameters)</pre>
<div class="block">Creates a Mollweide projection from the given parameters.
 The <code>method</code> argument can be the description of one of the following:

 <ul>
   <li><cite>"Mollweide"</cite>, also known as
       <cite>"Homalographic"</cite> or <cite>"Homolographic"</cite>.</li>
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>method</code> - description of the projection parameters.</dd>
<dd><code>parameters</code> - the parameter values of the projection to create.</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="transform(double[],int,double[],int,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transform</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;transform&#8203;(double[]&nbsp;srcPts,
                        int&nbsp;srcOff,
                        double[]&nbsp;dstPts,
                        int&nbsp;dstOff,
                        boolean&nbsp;derivate)
                 throws <a href="ProjectionException.html" title="class in org.apache.sis.referencing.operation.projection">ProjectionException</a></pre>
<div class="block">Converts the specified (λ,φ) coordinate and stores the (<var>x</var>,<var>y</var>) result in <code>dst­Pts</code>.
 The units of measurement are implementation-specific (see subclass javadoc).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="NormalizedProjection.html#transform(double%5B%5D,int,double%5B%5D,int,boolean)">transform</a></code>&nbsp;in class&nbsp;<code><a href="NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">Normalized­Projection</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src­Pts</code> - the array containing the source point coordinate, as (<var>longitude</var>, <var>latitude</var>)
                   angles in <strong>radians</strong>.</dd>
<dd><code>src­Off</code> - the offset of the single coordinate to be converted in the source array.</dd>
<dd><code>dst­Pts</code> - the array into which the converted coordinate is returned (may be the same than <code>src­Pts</code>).
                   Coordinates will be expressed in a dimensionless unit, as a linear distance on a unit sphere or ellipse.</dd>
<dd><code>dst­Off</code> - the offset of the location of the converted coordinate that is stored in the destination array.</dd>
<dd><code>derivate</code> - <code>true</code> for computing the derivative, or <code>false</code> if not needed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the matrix of the projection derivative at the given source position,
         or <code>null</code> if the <code>derivate</code> argument is <code>false</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="ProjectionException.html" title="class in org.apache.sis.referencing.operation.projection">Projection­Exception</a></code> - if the coordinate can not be converted.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../transform/AbstractMathTransform.html#derivative(org.opengis.geometry.DirectPosition)"><code>Abstract­Math­Transform​.derivative(Direct­Position)</code></a>, 
<a href="../transform/AbstractMathTransform.html#transform(org.opengis.geometry.DirectPosition,org.opengis.geometry.DirectPosition)"><code>Abstract­Math­Transform​.transform(Direct­Position, Direct­Position)</code></a>, 
<a href="../transform/MathTransforms.html#derivativeAndTransform(org.opengis.referencing.operation.MathTransform,double%5B%5D,int,double%5B%5D,int)"><code>Math­Transforms​.derivative­And­Transform(Math­Transform, double[], int, double[], int)</code></a></dd>
</dl>
</li>
</ul>
<a id="inverseTransform(double[],int,double[],int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>inverseTransform</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;inverseTransform&#8203;(double[]&nbsp;srcPts,
                                int&nbsp;srcOff,
                                double[]&nbsp;dstPts,
                                int&nbsp;dstOff)</pre>
<div class="block">Converts the specified (<var>x</var>,<var>y</var>) coordinates
 and stores the result in <code>dst­Pts</code> (angles in radians).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="NormalizedProjection.html#inverseTransform(double%5B%5D,int,double%5B%5D,int)">inverse­Transform</a></code>&nbsp;in class&nbsp;<code><a href="NormalizedProjection.html" title="class in org.apache.sis.referencing.operation.projection">Normalized­Projection</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src­Pts</code> - the array containing the source point coordinate, as linear distance on a unit sphere or ellipse.</dd>
<dd><code>src­Off</code> - the offset of the point to be converted in the source array.</dd>
<dd><code>dst­Pts</code> - the array into which the converted point coordinate is returned (may be the same than <code>src­Pts</code>).
                 Coordinates will be (<var>longitude</var>, <var>latitude</var>) angles in <strong>radians</strong>.</dd>
<dd><code>dst­Off</code> - the offset of the location of the converted point that is stored in the destination array.</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/Mollweide.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><a href="#nested.class.summary">Nested</a>&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>Field&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>
