Author: desruisseaux
Date: Tue Jul 21 09:06:40 2015
New Revision: 1692075

URL: http://svn.apache.org/r1692075
Log:
Separate the Stereographic North/South pole cases from variant B.
We make this separation because the default values are not the same.

Added:
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java
      - copied, changed from r1691751, 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java
      - copied, changed from r1691751, 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
Modified:
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
    
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/internal/referencing/provider/PolarStereographicB.java
    
sis/branches/JDK8/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.OperationMethod
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/PolarStereographicTest.java

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java?rev=1692075&r1=1692074&r2=1692075&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
 [UTF-8] Tue Jul 21 09:06:40 2015
@@ -128,10 +128,7 @@ abstract class AbstractProvider extends
      * where the default value should be the value of another parameter 
instead than 0°.
      */
     static ParameterDescriptor<Double> createMandatoryLatitude(final 
ParameterBuilder builder) {
-        return builder.createBounded(MeasurementRange.create(
-                Latitude.MIN_VALUE, true,
-                Latitude.MAX_VALUE, true,
-                NonSI.DEGREE_ANGLE), null);
+        return builder.createBounded(Latitude.MIN_VALUE, Latitude.MAX_VALUE, 
Double.NaN, NonSI.DEGREE_ANGLE);
     }
 
     /**
@@ -148,10 +145,7 @@ abstract class AbstractProvider extends
      * Creates a descriptor for a longitude parameter in degrees with a 
default value of 0°.
      */
     static ParameterDescriptor<Double> createLongitude(final ParameterBuilder 
builder) {
-        return builder.createBounded(MeasurementRange.create(
-                Longitude.MIN_VALUE, true,
-                Longitude.MAX_VALUE, true,
-                NonSI.DEGREE_ANGLE), 0.0);
+        return builder.createBounded(Longitude.MIN_VALUE, Longitude.MAX_VALUE, 
0.0, NonSI.DEGREE_ANGLE);
     }
 
     /**

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=1692075&r1=1692074&r2=1692075&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] Tue Jul 21 09:06:40 2015
@@ -213,6 +213,26 @@ public abstract class MapProjection exte
     }
 
     /**
+     * Copies all names and identifiers, but using the given authority as the 
primary name.
+     * This is a convenience method for defining the parameters of an 
ESRI-specific projection
+     * using the EPSG parameters as template.
+     */
+    static ParameterBuilder addNamesAndIdentifiers(final Citation authority,
+            final ParameterDescriptor<Double> source, final ParameterBuilder 
builder)
+    {
+        builder.addName(sameNameAs(authority, 
source)).addName(source.getName());
+        for (final GenericName alias : source.getAlias()) {
+            if (((Identifier) alias).getAuthority() != authority) {
+                builder.addName(alias);
+            }
+        }
+        for (final Identifier id : source.getIdentifiers()) {
+            builder.addIdentifier(id);
+        }
+        return builder;
+    }
+
+    /**
      * Copies all names except the EPSG one from the given parameter into the 
builder.
      * The EPSG name is presumed the first name and identifier (this is not 
verified).
      */
@@ -224,6 +244,16 @@ public abstract class MapProjection exte
     }
 
     /**
+     * Returns the same parameter than the given one, except that the primary 
name is the ESRI name
+     * instead than the EPSG one.
+     */
+    @SuppressWarnings("unchecked")
+    static ParameterDescriptor<Double> forESRI(final 
ParameterDescriptor<Double> source, final ParameterBuilder builder) {
+        return addNamesAndIdentifiers(Citations.ESRI, source, 
builder).createBounded((MeasurementRange<Double>)
+                ((DefaultParameterDescriptor<Double>) 
source).getValueDomain(), source.getDefaultValue());
+    }
+
+    /**
      * Creates a remarks for parameters that are not formally EPSG parameter.
      *
      * @param origin The name of the projection for where the parameter is 
formally used.

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java?rev=1692075&r1=1692074&r2=1692075&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
 [UTF-8] Tue Jul 21 09:06:40 2015
@@ -79,7 +79,8 @@ public final class PolarStereographicB e
 
         STANDARD_PARALLEL = createMandatoryLatitude(builder
                 .addIdentifier("8832").addName("Latitude of standard parallel")
-                .addName(sameNameAs(Citations.OGC, 
Mercator2SP.STANDARD_PARALLEL)));
+                .addName(sameNameAs(Citations.OGC,  
Mercator2SP.STANDARD_PARALLEL))
+                .addName(sameNameAs(Citations.ESRI, 
Mercator2SP.STANDARD_PARALLEL)));
 
         SCALE_FACTOR = createScale(builder
                 .addNamesAndIdentifiers(Mercator2SP.SCALE_FACTOR)
@@ -88,8 +89,6 @@ public final class PolarStereographicB e
         PARAMETERS = builder
             .addIdentifier(IDENTIFIER)
             .addName("Polar Stereographic (variant B)")
-            .addName(Citations.ESRI, "Stereographic_North_Pole")
-            .addName(Citations.ESRI, "Stereographic_South_Pole")
             .addName(Citations.S57,  "Polar stereographic")
             .addName(Citations.S57,  "PST")
             .addIdentifier(Citations.S57, "11")

Copied: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java
 (from r1691751, 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java?p2=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java&p1=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java&r1=1691751&r2=1692075&rev=1692075&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java
 [UTF-8] Tue Jul 21 09:06:40 2015
@@ -16,16 +16,18 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import java.util.List;
+import javax.measure.unit.NonSI;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
+import org.opengis.parameter.GeneralParameterDescriptor;
 import org.apache.sis.metadata.iso.citation.Citations;
 import org.apache.sis.parameter.ParameterBuilder;
+import org.apache.sis.measure.Latitude;
 
 
 /**
- * The provider for <cite>"Polar Stereographic (Variant B)"</cite> projection 
(EPSG:9829).
- * This provider includes a <cite>"Latitude of standard parallel"</cite> 
parameter and
- * determines the hemisphere of the projection from that parameter value.
+ * The provider for <cite>"Stereographic North Pole"</cite> projection (ESRI).
  *
  * @author  Rueben Schulz (UBC)
  * @author  Martin Desruisseaux (Geomatys)
@@ -33,78 +35,36 @@ import org.apache.sis.parameter.Paramete
  * @version 0.6
  * @module
  */
-public final class PolarStereographicB extends AbstractStereographic {
+public final class PolarStereographicNorth extends AbstractStereographic {
     /**
      * For cross-version compatibility.
      */
-    private static final long serialVersionUID = 5188231050523249971L;
-
-    /**
-     * The EPSG identifier, to be preferred to the name when available.
-     */
-    public static final String IDENTIFIER = "9829";
-
-    /**
-     * The operation parameter descriptor for the <cite>Longitude of 
origin</cite> (λ₀) parameter value.
-     * Valid values range is [-180 … 180]° and default value is 0°.
-     */
-    public static final ParameterDescriptor<Double> LONGITUDE_OF_ORIGIN;
-
-    /**
-     * The operation parameter descriptor for the <cite>Latitude of standard 
parallel</cite> (φ₁) parameter value.
-     * Valid values are -90° or 90°.
-     */
-    public static final ParameterDescriptor<Double> STANDARD_PARALLEL;
-
-    /**
-     * The operation parameter descriptor for the <cite>Scale factor</cite> 
(not necessarily at natural origin)
-     * parameter value. Valid values range is (0 … ∞) and default value is 1.
-     *
-     * <p>This parameter is used by {@link PolarStereographicA} and is not 
formally a parameter of
-     * {@code PolarStereographicB} projection. Nevertheless we declare it is 
as an optional parameter
-     * because it is sometime used in Well Known Text (WKT). However it shall 
be interpreted as a
-     * <cite>Scale factor at the standard parallel</cite> rather than at the 
natural origin.</p>
-     */
-    static final ParameterDescriptor<Double> SCALE_FACTOR;
+    private static final long serialVersionUID = -5112694856914399464L;
 
     /**
      * The group of all parameters expected by this coordinate operation.
      */
     static final ParameterDescriptorGroup PARAMETERS;
     static {
+        List<GeneralParameterDescriptor> sp = 
PolarStereographicSouth.PARAMETERS.descriptors();
+        sp = sp.subList(2, sp.size());  // Skip the "semi-major" and 
"semi-minor" parameters.
+        @SuppressWarnings("SuspiciousToArrayCall") // We know 
PolarStereographicSouth content.
+        ParameterDescriptor<?>[] parameters = sp.toArray(new 
ParameterDescriptor<?>[sp.size()]);
+
+        // Replace the "Standard Parallel" parameter from [-90 … 0]° domain to 
[0 … 90]° domain.
         final ParameterBuilder builder = builder();
-        LONGITUDE_OF_ORIGIN = createLongitude(
-                exceptEPSG(PolarStereographicA.LONGITUDE_OF_ORIGIN,
-                builder.addIdentifier("8833").addName("Longitude of 
origin").setDeprecated(false)));
-
-        STANDARD_PARALLEL = createMandatoryLatitude(builder
-                .addIdentifier("8832").addName("Latitude of standard parallel")
-                .addName(sameNameAs(Citations.OGC, 
Mercator2SP.STANDARD_PARALLEL)));
-
-        SCALE_FACTOR = createScale(builder
-                .addNamesAndIdentifiers(Mercator2SP.SCALE_FACTOR)
-                .setRemarks(notFormalParameter("Polar Stereographic (variant 
A)")).setDeprecated(true));
+        parameters[0] = 
builder.addNamesAndIdentifiers(parameters[0]).createBounded(
+                       0, Latitude.MAX_VALUE, Latitude.MAX_VALUE, 
NonSI.DEGREE_ANGLE);
 
         PARAMETERS = builder
-            .addIdentifier(IDENTIFIER)
-            .addName("Polar Stereographic (variant B)")
             .addName(Citations.ESRI, "Stereographic_North_Pole")
-            .addName(Citations.ESRI, "Stereographic_South_Pole")
-            .addName(Citations.S57,  "Polar stereographic")
-            .addName(Citations.S57,  "PST")
-            .addIdentifier(Citations.S57, "11")
-            .createGroupForMapProjection(
-                    STANDARD_PARALLEL,
-                    LONGITUDE_OF_ORIGIN,
-                    SCALE_FACTOR,       // Not formally a parameter of this 
projection.
-                    FALSE_EASTING,
-                    FALSE_NORTHING);
+            .createGroupForMapProjection(parameters);
     }
 
     /**
      * Constructs a new provider.
      */
-    public PolarStereographicB() {
+    public PolarStereographicNorth() {
         super(PARAMETERS);
     }
 }

Copied: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java
 (from r1691751, 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java?p2=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java&p1=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java&r1=1691751&r2=1692075&rev=1692075&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java
 [UTF-8] Tue Jul 21 09:06:40 2015
@@ -16,16 +16,16 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.measure.unit.NonSI;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.metadata.iso.citation.Citations;
 import org.apache.sis.parameter.ParameterBuilder;
+import org.apache.sis.measure.Latitude;
 
 
 /**
- * The provider for <cite>"Polar Stereographic (Variant B)"</cite> projection 
(EPSG:9829).
- * This provider includes a <cite>"Latitude of standard parallel"</cite> 
parameter and
- * determines the hemisphere of the projection from that parameter value.
+ * The provider for <cite>"Stereographic North South"</cite> projection (ESRI).
  *
  * @author  Rueben Schulz (UBC)
  * @author  Martin Desruisseaux (Geomatys)
@@ -33,39 +33,11 @@ import org.apache.sis.parameter.Paramete
  * @version 0.6
  * @module
  */
-public final class PolarStereographicB extends AbstractStereographic {
+public final class PolarStereographicSouth extends AbstractStereographic {
     /**
      * For cross-version compatibility.
      */
-    private static final long serialVersionUID = 5188231050523249971L;
-
-    /**
-     * The EPSG identifier, to be preferred to the name when available.
-     */
-    public static final String IDENTIFIER = "9829";
-
-    /**
-     * The operation parameter descriptor for the <cite>Longitude of 
origin</cite> (λ₀) parameter value.
-     * Valid values range is [-180 … 180]° and default value is 0°.
-     */
-    public static final ParameterDescriptor<Double> LONGITUDE_OF_ORIGIN;
-
-    /**
-     * The operation parameter descriptor for the <cite>Latitude of standard 
parallel</cite> (φ₁) parameter value.
-     * Valid values are -90° or 90°.
-     */
-    public static final ParameterDescriptor<Double> STANDARD_PARALLEL;
-
-    /**
-     * The operation parameter descriptor for the <cite>Scale factor</cite> 
(not necessarily at natural origin)
-     * parameter value. Valid values range is (0 … ∞) and default value is 1.
-     *
-     * <p>This parameter is used by {@link PolarStereographicA} and is not 
formally a parameter of
-     * {@code PolarStereographicB} projection. Nevertheless we declare it is 
as an optional parameter
-     * because it is sometime used in Well Known Text (WKT). However it shall 
be interpreted as a
-     * <cite>Scale factor at the standard parallel</cite> rather than at the 
natural origin.</p>
-     */
-    static final ParameterDescriptor<Double> SCALE_FACTOR;
+    private static final long serialVersionUID = -6173635411676914083L;
 
     /**
      * The group of all parameters expected by this coordinate operation.
@@ -73,38 +45,25 @@ public final class PolarStereographicB e
     static final ParameterDescriptorGroup PARAMETERS;
     static {
         final ParameterBuilder builder = builder();
-        LONGITUDE_OF_ORIGIN = createLongitude(
-                exceptEPSG(PolarStereographicA.LONGITUDE_OF_ORIGIN,
-                builder.addIdentifier("8833").addName("Longitude of 
origin").setDeprecated(false)));
-
-        STANDARD_PARALLEL = createMandatoryLatitude(builder
-                .addIdentifier("8832").addName("Latitude of standard parallel")
-                .addName(sameNameAs(Citations.OGC, 
Mercator2SP.STANDARD_PARALLEL)));
-
-        SCALE_FACTOR = createScale(builder
-                .addNamesAndIdentifiers(Mercator2SP.SCALE_FACTOR)
-                .setRemarks(notFormalParameter("Polar Stereographic (variant 
A)")).setDeprecated(true));
+        final ParameterDescriptor<?>[] parameters = {
+            addNamesAndIdentifiers(Citations.ESRI, 
PolarStereographicB.STANDARD_PARALLEL, builder)
+                   .createBounded(Latitude.MIN_VALUE, 0, Latitude.MIN_VALUE, 
NonSI.DEGREE_ANGLE),
+
+            forESRI(PolarStereographicB.LONGITUDE_OF_ORIGIN, builder),
+            forESRI(PolarStereographicB.SCALE_FACTOR, builder),
+            forESRI(PolarStereographicB.FALSE_EASTING, builder),
+            forESRI(PolarStereographicB.FALSE_NORTHING, builder)
+        };
 
         PARAMETERS = builder
-            .addIdentifier(IDENTIFIER)
-            .addName("Polar Stereographic (variant B)")
-            .addName(Citations.ESRI, "Stereographic_North_Pole")
             .addName(Citations.ESRI, "Stereographic_South_Pole")
-            .addName(Citations.S57,  "Polar stereographic")
-            .addName(Citations.S57,  "PST")
-            .addIdentifier(Citations.S57, "11")
-            .createGroupForMapProjection(
-                    STANDARD_PARALLEL,
-                    LONGITUDE_OF_ORIGIN,
-                    SCALE_FACTOR,       // Not formally a parameter of this 
projection.
-                    FALSE_EASTING,
-                    FALSE_NORTHING);
+            .createGroupForMapProjection(parameters);
     }
 
     /**
      * Constructs a new provider.
      */
-    public PolarStereographicB() {
+    public PolarStereographicSouth() {
         super(PARAMETERS);
     }
 }

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.OperationMethod
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.OperationMethod?rev=1692075&r1=1692074&r2=1692075&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.OperationMethod
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.OperationMethod
 [UTF-8] Tue Jul 21 09:06:40 2015
@@ -17,3 +17,5 @@ org.apache.sis.internal.referencing.prov
 org.apache.sis.internal.referencing.provider.PolarStereographicA
 org.apache.sis.internal.referencing.provider.PolarStereographicB
 org.apache.sis.internal.referencing.provider.PolarStereographicC
+org.apache.sis.internal.referencing.provider.PolarStereographicNorth
+org.apache.sis.internal.referencing.provider.PolarStereographicSouth

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/PolarStereographicTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/PolarStereographicTest.java?rev=1692075&r1=1692074&r2=1692075&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/PolarStereographicTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/PolarStereographicTest.java
 [UTF-8] Tue Jul 21 09:06:40 2015
@@ -19,9 +19,12 @@ package org.apache.sis.referencing.opera
 import org.opengis.util.FactoryException;
 import org.opengis.referencing.operation.TransformException;
 import org.apache.sis.internal.referencing.Formulas;
+import org.apache.sis.internal.referencing.provider.MapProjection;
 import org.apache.sis.internal.referencing.provider.PolarStereographicA;
 import org.apache.sis.internal.referencing.provider.PolarStereographicB;
 import org.apache.sis.internal.referencing.provider.PolarStereographicC;
+import org.apache.sis.internal.referencing.provider.PolarStereographicNorth;
+import org.apache.sis.internal.referencing.provider.PolarStereographicSouth;
 import org.apache.sis.referencing.operation.transform.CoordinateDomain;
 import org.apache.sis.parameter.Parameters;
 import org.apache.sis.test.DependsOnMethod;
@@ -47,15 +50,11 @@ public final strictfp class PolarStereog
      * @param ellipse {@code false} for a sphere, or {@code true} for WGS84 
ellipsoid.
      * @param latitudeOfOrigin The latitude of origin, in decimal degrees.
      */
-    private void createNormalizedProjection(final boolean ellipse, final 
double latitudeOfOrigin) {
-        final PolarStereographicA method = new PolarStereographicA();
-        final Parameters parameters = parameters(method, ellipse);
-        
parameters.getOrCreate(PolarStereographicA.LATITUDE_OF_ORIGIN).setValue(latitudeOfOrigin);
+    private void createNormalizedProjection(final MapProjection method) {
+        final Parameters parameters = parameters(method, false);
         NormalizedProjection projection = new PolarStereographic(method, 
parameters);
-        if (!ellipse) {
-            projection = new ProjectionResultComparator(projection,
-                    new PolarStereographic.Spherical((PolarStereographic) 
projection));
-        }
+        projection = new ProjectionResultComparator(projection,
+                new PolarStereographic.Spherical((PolarStereographic) 
projection));
         transform = projection;
         tolerance = NORMALIZED_TOLERANCE;
         validate();
@@ -69,7 +68,7 @@ public final strictfp class PolarStereog
      */
     @Test
     public void testSphericalCaseSouth() throws FactoryException, 
TransformException {
-        createNormalizedProjection(false, -90);
+        createNormalizedProjection(new PolarStereographicSouth());
         final double delta = toRadians(100.0 / 60) / 1852; // Approximatively 
100 metres.
         derivativeDeltas = new double[] {delta, delta};
         verifyInDomain(CoordinateDomain.GEOGRAPHIC_RADIANS_SOUTH, 56763886);
@@ -85,7 +84,7 @@ public final strictfp class PolarStereog
     @Test
     @DependsOnMethod("testSphericalCaseSouth")
     public void testSphericalCaseNorth() throws FactoryException, 
TransformException {
-        createNormalizedProjection(false, 90);
+        createNormalizedProjection(new PolarStereographicNorth());
         final double delta = toRadians(100.0 / 60) / 1852; // Approximatively 
100 metres.
         derivativeDeltas = new double[] {delta, delta};
         verifyInDomain(CoordinateDomain.GEOGRAPHIC_RADIANS_NORTH, 56763886);


Reply via email to