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,