Author: desruisseaux
Date: Thu Mar 26 11:10:40 2015
New Revision: 1669318
URL: http://svn.apache.org/r1669318
Log:
Referencing: renamed "UnitaryProjection" as "NormalizedProjection".
Added:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
- copied, changed from r1669312,
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java
- copied, changed from r1669312,
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java
Removed:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -59,24 +59,18 @@ public abstract class MapProjection exte
private static final long serialVersionUID = 6280666068007678702L;
/**
- * All names known to Apache SIS for the
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMajor
semi-major}
- * parameter. This parameter is mandatory and has no default value. The
range of valid values is (0 … ∞).
+ * All names known to Apache SIS for the <cite>semi-major</cite> parameter.
+ * This parameter is mandatory and has no default value. The range of
valid values is (0 … ∞).
*
* <p>Some names for this parameter are {@code "semi_major"}, {@code
"SemiMajor"} and {@code "a"}.</p>
- *
- * @see
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMajor
*/
public static final DefaultParameterDescriptor<Double> SEMI_MAJOR;
/**
- * All names known to Apache SIS for the
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMinor
semi-minor}
- * parameter. This parameter is mandatory and has no default value. The
range of valid values is (0 … ∞).
+ * All names known to Apache SIS for the <cite>semi-minor</cite> parameter.
+ * This parameter is mandatory and has no default value. The range of
valid values is (0 … ∞).
*
* <p>Some names for this parameter are {@code "semi_minor"}, {@code
"SemiMinor"} and {@code "b"}.</p>
- *
- * @see
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMinor
*/
public static final DefaultParameterDescriptor<Double> SEMI_MINOR;
static {
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -68,7 +68,7 @@ import static java.lang.Double.*;
* @see TransverseMercator
* @see ObliqueMercator
*/
-public class Mercator extends UnitaryProjection {
+public class Mercator extends NormalizedProjection {
/**
* For cross-version compatibility.
*/
@@ -122,10 +122,10 @@ public class Mercator extends UnitaryPro
}
/**
- * Returns the parameter descriptors for this unitary projection. Note
that the returned descriptor is about
- * the unitary projection, not the full one. Consequently the default
implementation returns the descriptor
- * of <cite>Mercator (variant A)</cite> in all cases except for the
pseudo-Mercator projection, because the
- * <cite>Mercator (variant B)</cite> case is implemented as the variant A
with a different scale factor.
+ * Returns the parameter descriptors for this normalized projection. Note
that the returned descriptor is about
+ * the normalized projection only, not the full projection. Consequently
the default implementation returns the
+ * descriptor of <cite>Mercator (variant A)</cite> in all cases except for
the pseudo-Mercator projection,
+ * because the <cite>Mercator (variant B)</cite> case is implemented as
the variant A with a different scale factor.
*
* @return The <cite>Mercator (variant A)</cite> or <cite>Popular
Visualisation Pseudo Mercator</cite>
* parameter descriptor.
@@ -136,7 +136,7 @@ public class Mercator extends UnitaryPro
}
// No need to override getParameterValues() because no additional
- // parameter are significant to a unitary Mercator projection.
+ // parameter are significant to a normalized Mercator projection.
/**
@@ -185,7 +185,7 @@ public class Mercator extends UnitaryPro
* <div class="note"><b>Note:</b>
* We override the super-class method only as an optimization in the
special case where the target coordinates
* are written at the same locations than the source coordinates. In such
case, we can take advantage of the
- * fact that the λ values are not modified by the unitary Mercator
projection.</div>
+ * fact that the λ values are not modified by the normalized Mercator
projection.</div>
*
* @throws TransformException if a point can not be transformed.
*/
@@ -330,7 +330,7 @@ public class Mercator extends UnitaryPro
* {@inheritDoc}
*
* <div class="note"><b>Note:</b>
- * This method must be overridden because the {@link Mercator} class
overrides the {@link UnitaryProjection}
+ * This method must be overridden because the {@link Mercator} class
overrides the {@link NormalizedProjection}
* default implementation.</div>
*/
@Override
Copied:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
(from r1669312,
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java)
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java?p2=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java&p1=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java&r1=1669312&r2=1669318&rev=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -59,9 +59,9 @@ import java.util.Objects;
* {@linkplain ContextualParameters#normalization(boolean) denormalize}
affine transform.</li>
* </ul>
*
- * {@code UnitaryProjection} does not store the above cited parameters
(central meridian, scale factor, <i>etc.</i>)
+ * {@code NormalizedProjection} does not store the above cited parameters
(central meridian, scale factor, <i>etc.</i>)
* on intend, in order to make clear that those parameters are not used by
subclasses.
- * The ability to recognize two {@code UnitaryProjection}s as {@linkplain
#equals(Object, ComparisonMode) equivalent}
+ * The ability to recognize two {@code NormalizedProjection}s as {@linkplain
#equals(Object, ComparisonMode) equivalent}
* without consideration for the scale factor (among other) allow more
efficient concatenation in some cases
* (typically some combinations of inverse projection followed by a direct
projection).
*
@@ -83,7 +83,7 @@ import java.util.Objects;
*
* @see <a href="http://mathworld.wolfram.com/MapProjection.html">Map
projections on MathWorld</a>
*/
-public abstract class UnitaryProjection extends AbstractMathTransform2D
implements Serializable {
+public abstract class NormalizedProjection extends AbstractMathTransform2D
implements Serializable {
/**
* For cross-version compatibility.
*/
@@ -148,7 +148,7 @@ public abstract class UnitaryProjection
* @param method Description of the map projection parameters.
* @param parameters The parameters of the projection to be created.
*/
- protected UnitaryProjection(final OperationMethod method, final Parameters
parameters) {
+ protected NormalizedProjection(final OperationMethod method, final
Parameters parameters) {
this.parameters = new ContextualParameters(method);
ensureNonNull("parameters", parameters);
final double a = parameters.doubleValue(MapProjection.SEMI_MAJOR);
@@ -184,7 +184,7 @@ public abstract class UnitaryProjection
*
* Subclasses must complete.
*
- * @return A copy of the parameter values for this unitary projection.
+ * @return A copy of the parameter values for this normalized projection.
*/
@Override
public ParameterValueGroup getParameterValues() {
@@ -312,7 +312,7 @@ public abstract class UnitaryProjection
* Default constructor.
*/
public Inverse() {
- UnitaryProjection.this.super();
+ NormalizedProjection.this.super();
}
/**
@@ -334,13 +334,13 @@ public abstract class UnitaryProjection
dstOff = 0;
}
inverseTransform(srcPts, srcOff, dstPts, dstOff);
- return
Matrices.inverse(UnitaryProjection.this.transform(dstPts, dstOff, null, 0,
true));
+ return
Matrices.inverse(NormalizedProjection.this.transform(dstPts, dstOff, null, 0,
true));
}
}
}
/**
- * Computes a hash code value for this unitary projection.
+ * Computes a hash code value for this map projection.
* The default implementation computes a value from the parameters given
at construction time.
*
* @return The hash code value.
@@ -354,22 +354,22 @@ public abstract class UnitaryProjection
* Compares the given object with this transform for equivalence. The
default implementation checks if
* {@code object} is an instance of the same class than {@code this}, then
compares the excentricity.
*
- * <p>If this method returns {@code true}, then for any given identical
source position, the two compared
- * unitary projections shall compute the same target position. Many of the
{@linkplain Parameters projection
- * parameters} used for creating the unitary projections are irrelevant
and don not need to be known.
+ * <p>If this method returns {@code true}, then for any given identical
source position, the two compared map
+ * projections shall compute the same target position. Many of the
{@linkplain #parameters parameters}
+ * used for creating the map projections are irrelevant and do not need to
be known.
* Those projection parameters will be compared only if the comparison
mode is {@link ComparisonMode#STRICT}
* or {@link ComparisonMode#BY_CONTRACT BY_CONTRACT}.</p>
*
* <div class="note"><b>Example:</b>
* a {@linkplain Mercator Mercator} projection can be created in the 2SP
case with a <cite>standard parallel</cite>
* value of 60°. The same projection can also be created in the 1SP case
with a <cite>scale factor</cite> of 0.5.
- * Nevertheless those two unitary projections applied on a sphere gives
identical results. Considering them as
+ * Nevertheless those two map projections applied on a sphere gives
identical results. Considering them as
* equivalent allows the referencing module to transform coordinates
between those two projections more efficiently.
* </div>
*
- * @param object The object to compare with this unitary projection for
equivalence.
+ * @param object The object to compare with this map projection for
equivalence.
* @param mode The strictness level of the comparison. Default to {@link
ComparisonMode#STRICT}.
- * @return {@code true} if the given object is equivalent to this unitary
projection.
+ * @return {@code true} if the given object is equivalent to this map
projection.
*/
@Override
public boolean equals(final Object object, final ComparisonMode mode) {
@@ -378,7 +378,7 @@ public abstract class UnitaryProjection
}
if (super.equals(object, mode)) {
final double e1, e2;
- final UnitaryProjection that = (UnitaryProjection) object;
+ final NormalizedProjection that = (NormalizedProjection) object;
if (mode.ordinal() < ComparisonMode.IGNORE_METADATA.ordinal()) {
if (!Objects.equals(parameters, that.parameters)) {
return false;
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -21,7 +21,7 @@ import org.apache.sis.util.resources.Err
/**
- * Thrown by {@link UnitaryProjection} when a map projection failed.
+ * Thrown by {@link NormalizedProjection} when a map projection failed.
*
* @author André Gosselin (MPO)
* @author Martin Desruisseaux (MPO, IRD, Geomatys)
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -49,12 +49,12 @@
* <li><b>Map projection</b> (a.k.a. cartographic projection)<br>
* The conversion of geographic coordinates from (<var>longitude</var>,
<var>latitude</var>)
* in decimal degrees to projected coordinates (<var>x</var>,
<var>y</var>) in metres.</li>
- * <li><b>Unitary projection</b><br>
+ * <li><b>Normalized projection</b><br>
* The conversion of geographic coordinates from (<var>longitude</var>,
<var>latitude</var>)
* in radians to projected coordinates (<var>x</var>, <var>y</var>) on a
sphere or ellipse
* having a semi-major axis length of 1. This definition may be slightly
relaxed if some
* projection-specifics coefficients are concatenated with the
conversions that take place
- * between the above map projection and this unitary projection.</li>
+ * between the above map projection and this normalized projection.</li>
* </ul>
*
*
@@ -118,25 +118,21 @@
* A map projection in this package is actually the concatenation of the
following transforms, in that order:
*
* <ul>
- * <li>{@link
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#normalize(boolean)
normalize} affine transform</li>
- * <li>{@link
org.apache.sis.referencing.operation.projection.UnitaryProjection} subclass</li>
- * <li>{@link
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#normalize(boolean)
denormalize} affine transform</li>
+ * <li>{@link
org.apache.sis.referencing.operation.transform.ContextualParameters#normalizeGeographicInputs
normalize} affine transform</li>
+ * <li>{@link
org.apache.sis.referencing.operation.projection.NormalizedProjection}
subclass</li>
+ * <li>{@link
org.apache.sis.referencing.operation.transform.ContextualParameters#denormalizeCartesianOutputs
denormalize} affine transform</li>
* </ul>
*
- * The first step (<cite>"normalize"</cite>) converts longitude and latitude
values from degrees to radians and removes the
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#centralMeridian
central meridian}
- * from the longitude. The last step (<cite>"denormalize"</cite>) multiplies
the result of the middle
- * step by the global scale factor (which is typically, but not always, the
product of the
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor
scale factor} with the
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMajor
semi-major} axis length),
- * then adds the
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#falseEasting
false easting} and
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#falseNorthing
false northing}.
- * This means that the middle step (<cite>"unitary projection"</cite>) is
performed on an ellipse
- * (or sphere) having a semi-major axis of 1.
+ * The first step (<cite>"normalize"</cite>) converts longitude and latitude
values from degrees to radians
+ * and removes the <cite>central meridian</cite> from the longitude.
+ * The last step (<cite>"denormalize"</cite>) multiplies the result of the
middle step by the global scale factor
+ * (typically the product of the <cite>scale factor</cite> with the
<cite>semi-major</cite> axis length),
+ * then adds the <cite>false easting</cite> and <cite>false northing</cite>.
+ * This means that the middle step (<cite>"normalized projection"</cite>) is
performed on an ellipse (or sphere)
+ * having a semi-major axis of 1.
*
* <p>In other words, the
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection#transform(double[],int,double[],int,boolean)
+ * {@linkplain
org.apache.sis.referencing.operation.projection.NormalizedProjection#transform(double[],int,double[],int,boolean)
* transform} method of the middle step works typically on longitude and
latitude values in <strong>radians</strong>
* relative to the central meridian (not necessarily Greenwich). Its results
are typically (<var>x</var>, <var>y</var>)
* coordinates having ({@linkplain
org.opengis.referencing.cs.AxisDirection#EAST East},
@@ -146,13 +142,9 @@
* above-cited normalize and denormalize affine transforms.</p>
*
* <div class="note"><b>Note:</b>
- * In <a href="http://www.remotesensing.org/proj/">PROJ.4</a>, the same
standardization is handled by {@code pj_fwd.c}
+ * In <a href="http://www.remotesensing.org/proj/">Proj.4</a>, the same
standardization is handled by {@code pj_fwd.c}
* and {@code pj_inv.c}. This normalization makes the equations closer to the
ones published in Snyder's book, where the
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#falseEasting
false easting},
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#falseNorthing
false northing} and
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor
scale factor}
- * are usually not given.
- * </div>
+ * <cite>false easting</cite>, <cite>false northing</cite> and <cite>scale
factor</cite> are usually not given.</div>
*
* <div class="section">References</div>
* <ul>
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -68,8 +68,8 @@ class ConcatenatedTransform extends Abst
* than 1 ULP (about 2.22E-16), it applies only the the zero terms in the
matrix. The terms on the
* diagonal are still expected to be exactly 1.
*
- * @todo Try to remove completely this tolerance threshold after we
applied double-double arithmetic
- * to all matrices.
+ * @deprecated Try to remove completely this tolerance threshold after we
applied double-double arithmetic
+ * to all matrices.
*/
private static final double IDENTITY_TOLERANCE = 1E-16;
@@ -420,7 +420,7 @@ class ConcatenatedTransform extends Abst
/**
* Returns all concatenated transforms, modified with the pre- and
post-processing required for WKT formating.
* More specifically, if there is any Apache SIS implementation of Map
Projection in the chain, then the
- * (<var>normalize</var>, <var>unitary projection</var>,
<var>denormalize</var>) tuples are replaced by single
+ * (<var>normalize</var>, <var>normalized projection</var>,
<var>denormalize</var>) tuples are replaced by single
* (<var>projection</var>) elements, which does not need to be instances
of {@link MathTransform}.
*/
private List<Object> getPseudoSteps() {
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -61,7 +61,7 @@ import static org.apache.sis.util.Argume
*
* <div class="section">Usage in map projections</div>
* This object is used mostly for Apache SIS implementation of map
projections, where the kernel is a
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection unitary
projection}.
+ * {@linkplain
org.apache.sis.referencing.operation.projection.NormalizedProjection normalized
projection}.
* This object is typically created and used as below:
*
* <ol class="verbose">
@@ -152,8 +152,9 @@ public class ContextualParameters extend
* {@linkplain #normalization(boolean) normalize/denormalize} transforms
or in the kernel.
*
* <div class="note"><b>Note:</b>
- * The definition of "kernel" is left to implementors. In the particular
case of Apache SIS implementation of map
- * projections, kernels are subclasses of {@link
org.apache.sis.referencing.operation.projection.UnitaryProjection}.
+ * The definition of "kernel" is left to implementors.
+ * In the particular case of Apache SIS implementation of map projections,
+ * kernels are subclasses of {@link
org.apache.sis.referencing.operation.projection.NormalizedProjection}.
* </div>
*
* @return The description of the parameters.
@@ -427,7 +428,7 @@ public class ContextualParameters extend
*/
final int beforeFormat(final List<Object> transforms, int index, final
boolean inverse) {
/*
- * We expect affine transforms before and after the unitary
projection. Extracts those
+ * We expect affine transforms before and after the normalized
projection. Extracts those
* affine transforms now. If one or both are missing, we will treat
null as an identity
* transform. We will not replace the elements in the list before new
values for those
* affine transforms have been fully calculated.
@@ -495,7 +496,7 @@ public class ContextualParameters extend
/*
* At this point we have computed all the affine transforms to show to
the user.
* We can replace the elements in the list. The transform referenced
by transforms.get(index)
- * is usually a UnitaryProjection, to be replaced by a
ContextualParameters instance in order
+ * is usually a NormalizedProjection, to be replaced by a
ContextualParameters instance in order
* to format real parameter values (semi-major axis, scale factor,
etc.)
* instead than a semi-major axis length of 1.
*/
Modified:
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -27,7 +27,7 @@ import org.apache.sis.util.Workaround;
/**
- * A simple implementation of {@link UnitaryProjection} as a "no-operation".
+ * A simple implementation of {@link NormalizedProjection} as a "no-operation".
* This is used for testing methods other than {@code transform(…)} and {@code
inverseTransform(…)}.
*
* @author Martin Desruisseaux (Geomatys)
@@ -36,7 +36,7 @@ import org.apache.sis.util.Workaround;
* @module
*/
@SuppressWarnings("serial")
-final strictfp class NoOp extends UnitaryProjection {
+final strictfp class NoOp extends NormalizedProjection {
/**
* Creates a new "no-operation".
*
Copied:
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java
(from r1669312,
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java)
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java?p2=sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java&p1=sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java&r1=1669312&r2=1669318&rev=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -29,14 +29,14 @@ import static org.junit.Assert.*;
/**
- * Tests the {@link UnitaryProjection} class.
+ * Tests the {@link NormalizedProjection} class.
*
* @author Martin Desruisseaux (Geomatys)
* @since 0.6
* @version 0.6
* @module
*/
-public final strictfp class UnitaryProjectionTest extends TransformTestCase {
+public final strictfp class NormalizedProjectionTest extends TransformTestCase
{
/**
* Tolerance level for comparing floating point numbers.
*/
@@ -50,35 +50,35 @@ public final strictfp class UnitaryProje
private static final int LN_INFINITY = 37;
/**
- * Computes {@link UnitaryProjection#expOfNorthing(double, double)} for
the given latitude.
+ * Computes {@link NormalizedProjection#expOfNorthing(double, double)} for
the given latitude.
*
* @param projection The projection on which to invoke {@code
expOfNorthing(…)}.
* @param φ The latitude in radians.
* @return {@code Math.exp} of the Mercator projection of the given
latitude.
*/
- static double expOfNorthing(final UnitaryProjection projection, final
double φ) {
+ static double expOfNorthing(final NormalizedProjection projection, final
double φ) {
return projection.expOfNorthing(φ, projection.excentricity * sin(φ));
}
/**
- * Computes {@link UnitaryProjection#expOfNorthing(double, double)} for
the given latitude.
+ * Computes {@link NormalizedProjection#expOfNorthing(double, double)} for
the given latitude.
*
* @param φ The latitude in radians.
* @return {@code Math.exp} of the Mercator projection of the given
latitude.
*/
private double expOfNorthing(final double φ) {
- return expOfNorthing((UnitaryProjection) transform, φ);
+ return expOfNorthing((NormalizedProjection) transform, φ);
}
/**
- * Computes {@link UnitaryProjection#φ(double)}.
+ * Computes {@link NormalizedProjection#φ(double)}.
*
* @param expOfSouthing The reciprocal of the value returned by {@link
#expOfNorthing(double)}.
* @return The latitude in radians.
* @throws ProjectionException if the iteration does not converge.
*/
private double φ(final double expOfSouthing) throws ProjectionException {
- return ((UnitaryProjection) transform).φ(expOfSouthing);
+ return ((NormalizedProjection) transform).φ(expOfSouthing);
}
/**
@@ -87,11 +87,11 @@ public final strictfp class UnitaryProje
*/
@Test
public void testDocumentation() {
- double minutes = toDegrees(UnitaryProjection.ANGLE_TOLERANCE) * 60;
+ double minutes = toDegrees(NormalizedProjection.ANGLE_TOLERANCE) * 60;
assertEquals("Documentation said 0.2″ precision.", 0.2, minutes*60,
0.1);
assertEquals("Documentation said 6 km precision.", 6, minutes*1852,
0.5);
- minutes = toDegrees(UnitaryProjection.ITERATION_TOLERANCE) * 60;
+ minutes = toDegrees(NormalizedProjection.ITERATION_TOLERANCE) * 60;
assertEquals("Documentation said 1 mm precision.", 0.001,
minutes*1852, 0.0005);
}
@@ -126,7 +126,7 @@ public final strictfp class UnitaryProje
}
/**
- * Tests the {@link UnitaryProjection#expOfNorthing(double, double)}
function.
+ * Tests the {@link NormalizedProjection#expOfNorthing(double, double)}
function.
*
* {@preformat text
* Forward: y = -log(t(φ))
@@ -169,10 +169,10 @@ public final strictfp class UnitaryProje
}
/**
- * Tests the {@link UnitaryProjection#φ(double)} function. We expect it to
be the converse of the
- * {@link UnitaryProjection#t(double, double)} function. In theory only
the range [-90° … +90°]
- * needs to be tested. However the function still consistent in the range
[-90° … +270°]
- * so we test that range for tracking this fact.
+ * Tests the {@link NormalizedProjection#φ(double)} function. We expect it
to be the converse of the
+ * {@link NormalizedProjection#t(double, double)} function. In theory only
the [-90° … +90°] range needs
+ * to be tested. However the function still consistent in the [-90° …
+270°] range so we test that range
+ * for tracking this fact.
*
* @throws ProjectionException Should never happen.
*/
@@ -183,7 +183,7 @@ public final strictfp class UnitaryProje
tolerance = TOLERANCE;
doTest_φ();
transform = new NoOp(true); // Ellipsoidal case
- tolerance = UnitaryProjection.ITERATION_TOLERANCE;
+ tolerance = NormalizedProjection.ITERATION_TOLERANCE;
doTest_φ();
}
@@ -219,7 +219,7 @@ public final strictfp class UnitaryProje
}
/**
- * Tests the {@link UnitaryProjection#dy_dφ(double, double)} method.
+ * Tests the {@link NormalizedProjection#dy_dφ(double, double)} method.
*
* @throws TransformException Should never happen.
*/
Modified:
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -88,7 +88,7 @@ import org.junit.BeforeClass;
// Test map projections.
org.apache.sis.referencing.operation.DefaultFormulaTest.class,
org.apache.sis.referencing.operation.DefaultOperationMethodTest.class,
-
org.apache.sis.referencing.operation.projection.UnitaryProjectionTest.class,
+
org.apache.sis.referencing.operation.projection.NormalizedProjectionTest.class,
// Registration of map projections and other math transforms.
org.apache.sis.internal.referencing.provider.AffineTest.class,
Modified:
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -113,11 +113,9 @@ public enum ComparisonMode {
* those objects as equivalent despite difference in the set of
parameters, as long as coordinate
* transformations still produce the same results.</p>
*
- * <div class="note"><b>Example:</b> A {@code "Mercator (2SP)"} projection
with a
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#standardParallels
- * standard parallel} value of 60° produces the same results than a {@code
"Mercator (1SP)"} projection with a
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor
scale
- * factor} value of 0.5.</div>
+ * <div class="note"><b>Example:</b> A <cite>"Mercator (2SP)"</cite>
projection with a <cite>standard parallel</cite>
+ * value of 60° produces the same results than a <cite>"Mercator
(1SP)"</cite> projection with a <cite>scale factor</cite>
+ * value of 0.5.</div>
*
* @see org.apache.sis.util.Utilities#equalsIgnoreMetadata(Object, Object)
*/
Modified:
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
[UTF-8] Thu Mar 26 11:10:40 2015
@@ -70,13 +70,11 @@ package org.apache.sis.util;
* {@linkplain
org.apache.sis.referencing.operation.transform.AbstractMathTransform#getParameterValues()
parameter values}.</li>
* <li>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT} – Synonymous to
the {@code STRICT} mode,
* because there is no GeoAPI interfaces for the various kind of
math transforms.</li>
- * <li>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA} – Objects
must be of the same
- * class, but the parameter values can be different if they are
different way to formulate
- * the same transform. For example a {@code "Mercator (2SP)"}
projection with a
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#standardParallels
- * standard parallel} value of 60° produces the same results than a
{@code "Mercator (1SP)"} projection with a
- * {@linkplain
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor
- * scale factor} value of 0.5</li>
+ * <li>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA} – Objects
must be of the same class,
+ * but the parameter values can be different if they are different
way to formulate the same transform.
+ * For example a <cite>"Mercator (2SP)"</cite> projection on a
sphere with a <cite>standard parallel</cite>
+ * value of 60° produces the same results than a <cite>"Mercator
(1SP)"</cite> projection on the same sphere
+ * with a <cite>scale factor</cite> value of 0.5.</li>
* <li>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE} – The same
attributes than the above
* {@code IGNORE_METADATA} mode are compared, but a slight
(implementation dependant)
* difference is tolerated in floating point numbers.</li>