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 7156ea4940b50dfac58a577dd9684153a2ebbcd1 Author: Martin Desruisseaux <[email protected]> AuthorDate: Mon Sep 22 16:46:59 2025 +0200 Upgrade from EPSG database version 12.013 to 12.026. --- .../provider/FranceGeocentricInterpolation.java | 5 ++-- .../sis/referencing/operation/provider/NADCON.java | 1 + .../sis/referencing/operation/provider/NTv1.java | 1 + .../sis/referencing/operation/provider/NTv2.java | 1 + .../operation/provider/ProvidersTest.java | 10 ++++++- .../sis/referencing/factory/sql/epsg/Clear.sql | 31 ++++++++++++++++++++++ .../sis/referencing/factory/sql/epsg/README.md | 3 ++- 7 files changed, 48 insertions(+), 4 deletions(-) diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java index 920230ff01..83d31c33e0 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java @@ -57,7 +57,7 @@ import org.apache.sis.util.resources.Errors; /** - * The provider for <q>Geocentric translation by Grid Interpolation (IGN)</q> (EPSG:1087). + * The provider for <q>Geocentric translations (geog2D domain) by grid (IGN)</q> (EPSG:1087). * This method replaces the deprecated <q>France geocentric interpolation</q> (ESPG:9655). * This operation requires a grid file provided by the French mapping agency. * @@ -198,7 +198,8 @@ public final class FranceGeocentricInterpolation extends AbstractProvider { .addName("EPSG code for \"standard\" CT") .create(Integer.class, null); PARAMETERS = builder - .addIdentifier("1087").addName("Geocentric translation by Grid Interpolation (IGN)") + .addIdentifier("1087").addName("Geocentric translations (geog2D domain) by grid (IGN)") + .addName("Geocentric translation by Grid Interpolation (IGN)") .setDeprecated(true).addIdentifier("9655").addName("France geocentric interpolation") .setDeprecated(false) .createGroup(Molodensky.DIMENSION, // Not an EPSG parameter. diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java index 113815c31a..646c8ff8d8 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java @@ -114,6 +114,7 @@ public final class NADCON extends AbstractProvider { PARAMETERS = builder .addIdentifier("9613") .addName("NADCON") + .addName("Geographic2D Offsets (NADCON)") .createGroup(LATITUDE, LONGITUDE); } diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv1.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv1.java index 10000691b0..266281f140 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv1.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv1.java @@ -48,6 +48,7 @@ public final class NTv1 extends AbstractProvider { PARAMETERS = builder .addIdentifier("9614") .addName("NTv1") + .addName("Geographic2D Offsets (NTv1)") .createGroup(NTv2.FILE); } diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java index c085fa5bc9..0230f5b4fe 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java @@ -100,6 +100,7 @@ public final class NTv2 extends AbstractProvider { PARAMETERS = builder .addIdentifier("9615") .addName("NTv2") + .addName("Geographic2D Offsets (NTv2)") .createGroup(FILE); } diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/ProvidersTest.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/ProvidersTest.java index f1c4f1e982..0941ecfe93 100644 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/ProvidersTest.java +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/ProvidersTest.java @@ -276,6 +276,14 @@ public final class ProvidersTest extends TestCase { final OperationMethod authoritative = factory.createOperationMethod(identifier); final String[] aliases = getAliases(authoritative); for (final String alias : aliases) { + if (alias.contains("(geocen domain)")) { + /* + * Ignore aliases such as "Coordinate Frame rotation (geocen domain)" + * as there is already "Coordinate Frame rotation (geocentric domain)". + * The more readable name is sufficient. + */ + continue; + } aliasUsageCount.merge(alias, 1, Math::addExact); } /* @@ -325,7 +333,7 @@ public final class ProvidersTest extends TestCase { final String classe = method.getClass().getName(); final var hardCoded = new HashSet<String>(Arrays.asList(getAliases(method))); for (final String alias : entry.getValue()) { - if (aliasUsageCount.get(alias) == 1) { + if (aliasUsageCount.getOrDefault(alias, 0) == 1) { assertTrue(hardCoded.remove(alias), () -> "Alias \"" + alias + "\" not found in class " + classe); } } diff --git a/optional/src/org.apache.sis.referencing.epsg/test/org/apache/sis/referencing/factory/sql/epsg/Clear.sql b/optional/src/org.apache.sis.referencing.epsg/test/org/apache/sis/referencing/factory/sql/epsg/Clear.sql index 00e3f0e276..15bd0576f4 100644 --- a/optional/src/org.apache.sis.referencing.epsg/test/org/apache/sis/referencing/factory/sql/epsg/Clear.sql +++ b/optional/src/org.apache.sis.referencing.epsg/test/org/apache/sis/referencing/factory/sql/epsg/Clear.sql @@ -6,8 +6,39 @@ -- -- Delete all EPSG tables. Useful for repeated tests of data insertions. +-- The statements are provided in two versions: first with table names as +-- distributed by EPSG, then with table names as used by Apache SIS. -- +DROP TABLE "epsg_alias" CASCADE; +DROP TABLE "epsg_change" CASCADE; +DROP TABLE "epsg_conventionalrs" CASCADE; +DROP TABLE "epsg_coordinateaxis" CASCADE; +DROP TABLE "epsg_coordinateaxisname" CASCADE; +DROP TABLE "epsg_coordinatereferencesystem" CASCADE; +DROP TABLE "epsg_coordinatesystem" CASCADE; +DROP TABLE "epsg_coordoperation" CASCADE; +DROP TABLE "epsg_coordoperationmethod" CASCADE; +DROP TABLE "epsg_coordoperationparam" CASCADE; +DROP TABLE "epsg_coordoperationparamusage" CASCADE; +DROP TABLE "epsg_coordoperationparamvalue" CASCADE; +DROP TABLE "epsg_coordoperationpath" CASCADE; +DROP TABLE "epsg_datum" CASCADE; +DROP TABLE "epsg_datumensemble" CASCADE; +DROP TABLE "epsg_datumensemblemember" CASCADE; +DROP TABLE "epsg_datumrealizationmethod" CASCADE; +DROP TABLE "epsg_definingoperation" CASCADE; +DROP TABLE "epsg_deprecation" CASCADE; +DROP TABLE "epsg_ellipsoid" CASCADE; +DROP TABLE "epsg_extent" CASCADE; +DROP TABLE "epsg_namingsystem" CASCADE; +DROP TABLE "epsg_primemeridian" CASCADE; +DROP TABLE "epsg_scope" CASCADE; +DROP TABLE "epsg_supersession" CASCADE; +DROP TABLE "epsg_unitofmeasure" CASCADE; +DROP TABLE "epsg_usage" CASCADE; +DROP TABLE "epsg_versionhistory" CASCADE; +-- Version with table names as used by Apache SIS. DROP TABLE "Alias" CASCADE; DROP TABLE "Change" CASCADE; DROP TABLE "Conventional RS" CASCADE; diff --git a/optional/src/org.apache.sis.referencing.epsg/test/org/apache/sis/referencing/factory/sql/epsg/README.md b/optional/src/org.apache.sis.referencing.epsg/test/org/apache/sis/referencing/factory/sql/epsg/README.md index e33b863fd7..1b86b69ccd 100644 --- a/optional/src/org.apache.sis.referencing.epsg/test/org/apache/sis/referencing/factory/sql/epsg/README.md +++ b/optional/src/org.apache.sis.referencing.epsg/test/org/apache/sis/referencing/factory/sql/epsg/README.md @@ -38,7 +38,7 @@ This page assumes that the database name is "Referencing", but any other name ca if the argument given to `TableScriptUpdater` (later in this page) is adjusted accordingly. If a copy of the original SQL scripts (as downloaded from EPSG) for the previous version is still available, -and if the following commands report no difference, then jump to "execute main" step. +and if the following commands report no difference, then jump to "Automatic updates after the manual checks" step. ```bash cd _<directory containing EPSG scripts of previous version>_ @@ -113,6 +113,7 @@ Adjust version numbers as needed in the following commands: cd _<path to SIS project directory>_ gradle clean test jar export CLASSPATH=~/.m2/repository/org/apache/derby/derby/10.14.2.0/derby-10.14.2.0.jar +export CLASSPATH=~/.m2/repository/org/postgresql/postgresql/42.7.7/postgresql-42.7.7.jar:$CLASSPATH export CLASSPATH=~/.m2/repository/javax/measure/unit-api/2.1.3/unit-api-2.1.3.jar:$CLASSPATH export CLASSPATH=$PWD/geoapi/snapshot/geoapi/target/geoapi-4.0-SNAPSHOT.jar:$CLASSPATH export CLASSPATH=$PWD/endorsed/build/libs/org.apache.sis.referencing.jar:$CLASSPATH
