This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 013a20ae665220396a3f0a66e333b63b26cab21d
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Tue Apr 30 13:21:09 2024 +0200

    Add "Longitude of natural origin" EPSG parameter name to `Sinusoidal` and 
`Mollweide.CENTRAL_MERIDIAN` because some WKT definitions appear to use it.
    Add missing declaration for `EquidistantCylindrical` projection in the 
workaround for applications that do not use module-path.
---
 .../org.opengis.referencing.operation.OperationMethod         |  1 +
 .../org/apache/sis/referencing/operation/provider/ESRI.java   |  2 +-
 .../apache/sis/referencing/operation/provider/Mollweide.java  |  7 ++++---
 .../operation/provider/PolarStereographicSouth.java           |  2 +-
 .../apache/sis/referencing/operation/provider/Sinusoidal.java | 11 ++++++++---
 .../apache/sis/referencing/operation/provider/Wraparound.java |  7 ++++---
 6 files changed, 19 insertions(+), 11 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.opengis.referencing.operation.OperationMethod
 
b/endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.opengis.referencing.operation.OperationMethod
index 3e86aa63f5..9609787f4e 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.opengis.referencing.operation.OperationMethod
+++ 
b/endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.opengis.referencing.operation.OperationMethod
@@ -60,6 +60,7 @@ 
org.apache.sis.referencing.operation.provider.ObliqueMercatorTwoPointsCenter
 org.apache.sis.referencing.operation.provider.Orthographic
 org.apache.sis.referencing.operation.provider.ModifiedAzimuthalEquidistant
 org.apache.sis.referencing.operation.provider.AzimuthalEquidistantSpherical
+org.apache.sis.referencing.operation.provider.EquidistantCylindrical
 org.apache.sis.referencing.operation.provider.ZonedTransverseMercator
 org.apache.sis.referencing.operation.provider.Sinusoidal
 org.apache.sis.referencing.operation.provider.PseudoSinusoidal
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ESRI.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ESRI.java
index c9c7daa586..3a8116325c 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ESRI.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ESRI.java
@@ -122,7 +122,7 @@ final class ESRI extends Static {
      */
     static final ParameterDescriptor<Double> FALSE_NORTHING;
     static {
-        final ParameterBuilder builder = MapProjection.builder();
+        final var builder = new ParameterBuilder().setRequired(true);
         CENTRAL_MERIDIAN    = MapProjection.createLongitude(copyNames(builder, 
Equirectangular.LONGITUDE_OF_ORIGIN));
         LATITUDE_OF_ORIGIN  = MapProjection.createLatitude (copyNames(builder, 
Equirectangular.LATITUDE_OF_ORIGIN), true);
         STANDARD_PARALLEL_1 = MapProjection.createLatitude (copyNames(builder, 
LambertConformal2SP.STANDARD_PARALLEL_1), true);
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Mollweide.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Mollweide.java
index 4d790853ac..a263a4e57d 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Mollweide.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Mollweide.java
@@ -52,9 +52,10 @@ public final class Mollweide extends MapProjection {
      *   <tr><td> OGC:     </td><td> central_meridian </td></tr>
      *   <tr><td> GeoTIFF: </td><td> CenterLong </td></tr>
      *   <tr><td> Proj4:   </td><td> lon_0 </td></tr>
+     *   <tr><td> EPSG:    </td><td> Longitude of projection centre </td></tr>
      * </table>
      */
-    public static final ParameterDescriptor<Double> CENTRAL_MERIDIAN = 
ESRI.CENTRAL_MERIDIAN;
+    public static final ParameterDescriptor<Double> CENTRAL_MERIDIAN = 
Sinusoidal.CENTRAL_MERIDIAN;
 
     /**
      * The operation parameter descriptor for the <cite>False easting</cite> 
(FE) parameter value.
@@ -69,7 +70,7 @@ public final class Mollweide extends MapProjection {
      *   <tr><td> Proj4:   </td><td> x_0 </td></tr>
      * </table>
      */
-    public static final ParameterDescriptor<Double> FALSE_EASTING = 
ESRI.FALSE_EASTING;
+    public static final ParameterDescriptor<Double> FALSE_EASTING = 
Sinusoidal.FALSE_EASTING;
 
     /**
      * The operation parameter descriptor for the <cite>False northing</cite> 
(FN) parameter value.
@@ -84,7 +85,7 @@ public final class Mollweide extends MapProjection {
      *   <tr><td> Proj4:   </td><td> y_0 </td></tr>
      * </table>
      */
-    public static final ParameterDescriptor<Double> FALSE_NORTHING = 
ESRI.FALSE_NORTHING;
+    public static final ParameterDescriptor<Double> FALSE_NORTHING = 
Sinusoidal.FALSE_NORTHING;
 
     /**
      * The group of all parameters expected by this coordinate operation.
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicSouth.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicSouth.java
index c5e9837941..46cd0d9436 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicSouth.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicSouth.java
@@ -51,7 +51,7 @@ public final class PolarStereographicSouth extends 
AbstractStereographic {
         final ParameterDescriptor<?>[] parameters = {
             standardParallel,
             ESRI.CENTRAL_MERIDIAN,
-            PolarStereographicB.SCALE_FACTOR,                       // Not 
formally a parameter of this projection.
+            PolarStereographicB.SCALE_FACTOR,       // Not formally a 
parameter of this projection.
             ESRI.FALSE_EASTING,
             ESRI.FALSE_NORTHING
         };
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Sinusoidal.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Sinusoidal.java
index 5ed40a2500..17010a673f 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Sinusoidal.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Sinusoidal.java
@@ -20,7 +20,7 @@ import jakarta.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.metadata.iso.citation.Citations;
-import org.apache.sis.util.privy.Constants;
+import org.apache.sis.parameter.ParameterBuilder;
 import org.apache.sis.parameter.Parameters;
 import org.apache.sis.referencing.operation.projection.NormalizedProjection;
 
@@ -53,9 +53,10 @@ public class Sinusoidal extends MapProjection {
      *   <tr><td> OGC:     </td><td> central_meridian </td></tr>
      *   <tr><td> GeoTIFF: </td><td> CenterLong </td></tr>
      *   <tr><td> Proj4:   </td><td> lon_0 </td></tr>
+     *   <tr><td> EPSG:    </td><td> Longitude of projection centre </td></tr>
      * </table>
      */
-    public static final ParameterDescriptor<Double> CENTRAL_MERIDIAN = 
ESRI.CENTRAL_MERIDIAN;
+    public static final ParameterDescriptor<Double> CENTRAL_MERIDIAN;
 
     /**
      * The operation parameter descriptor for the <cite>False easting</cite> 
(FE) parameter value.
@@ -92,7 +93,11 @@ public class Sinusoidal extends MapProjection {
      */
     static final ParameterDescriptorGroup PARAMETERS;
     static {
-        PARAMETERS = builder().setCodeSpace(Citations.OGC, Constants.OGC)
+        final var builder = new ParameterBuilder().setRequired(true);
+        CENTRAL_MERIDIAN = 
createLongitude(builder.addNamesAndIdentifiers(ESRI.CENTRAL_MERIDIAN)
+                .addName(ObliqueMercator.LONGITUDE_OF_CENTRE.getName()));
+
+        PARAMETERS = builder
                 .addName      ("Sinusoidal")
                 .addName      ("Sanson-Flamsteed")
                 .addName      (Citations.GEOTIFF,  "CT_Sinusoidal")
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Wraparound.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Wraparound.java
index 0dbf6bba12..2dfe8da087 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Wraparound.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Wraparound.java
@@ -27,7 +27,6 @@ import org.apache.sis.parameter.Parameters;
 import org.apache.sis.parameter.ParameterBuilder;
 import org.apache.sis.metadata.iso.citation.Citations;
 import org.apache.sis.referencing.operation.transform.WraparoundTransform;
-import org.apache.sis.util.privy.Constants;
 
 
 /**
@@ -98,8 +97,10 @@ public final class Wraparound extends AbstractProvider {
     public static final ParameterDescriptorGroup PARAMETERS;
     static {
         final ParameterBuilder builder = builder().setCodeSpace(Citations.SIS, 
"SIS");
-        DIMENSION = 
builder.addName(Constants.DIM).createBounded(Integer.class, 1, null, null);
-        WRAPAROUND_DIMENSION = 
builder.addName("wraparound_dim").createBounded(Integer.class, 0, null, null);
+        DIMENSION = 
builder.addName(GeocentricAffineBetweenGeographic.DIMENSION.getName())
+                .createBounded(Integer.class, 1, null, null);
+        WRAPAROUND_DIMENSION = builder.addName("wraparound_dim")
+                .createBounded(Integer.class, 0, null, null);
         PERIOD = builder.addName("period").createStrictlyPositive(Double.NaN, 
null);
         PARAMETERS = builder.addName("Wraparound")
                 .createGroup(DIMENSION,

Reply via email to