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

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


    from 236ded5a92 Merge branch 'geoapi-4.0' into geoapi-3.1. Contains an 
upgrade of the EPSG database installer for installing EPSG version 12 or later. 
Contains also miscellaneous bug fixes or improvements in EPSG access and in 
grid coverages.
     add b0791bfff2 Drop support of the `$SIS_DATA/Databases/ExternalSources` 
directory. This feature was used mostly for testing purposes, so this change 
has probably no incidence on users. In the unlikely case where this feature was 
used by someone in production, it would probably be broken anyway because this 
feature had an implicit execution of scripts that are impacted by the EPSG 
upgrade.
     add 9703e401f8 Fix the generation of embedded Derby database containing 
EPSG data. If the instruction documented in `.../epsg/README.md` are followed, 
then a build with tests enabled will automatically create the full spatial 
metadata database ready to deploy.
     add b0f406a181 Add "World Mercator" and "Pseudo-Mercator" in the set of 
CRS that are always present. There is a high demand for them, and they are 
needed for passing some tests anyway.
     add 08239e9570 Fix the extensive tests with EPSG 9.9.1. This commit does 
not include the fixes for EPSG 12.
     add ee82317bc6 The name of a few map projection parameters changed in EPSG 
12. The old names (from EPSG 9) are kept as aliases.
     add e769f55158 Improve interoperability between CRS defined with a datum 
ensemble and CRS defined in the old way, before datum ensembles were introduced.
     add 4126048b2a Add a new `ComparisonMode.COMPATIBILITY` enumeration value 
for handling the difference between old and new definition of WGS84 datum. 
Modify the rest of Apache SIS source code for using that new compatibility mode 
when appropriate.
     add 37ab42d7bd Allow more consistency checks to pass.
     add 0224097325 Fix a race condition causing a random test failure.
     add 4e2e756dc1 In `IdentifiedObjectFinder`, retrofit the 
`createFromIdentifiers` and `createFromNames` methods into `getCodeCandidates`. 
This is needed because the previous algorithm assumed that CRS names were 
unique, which is not true in EPSG version 12. Also need to make the search for 
EPSG codes tolerant to the difference between datum and datum ensemble.
     add ad0646c8a4 More type-safe way to specify the EPSG tables on which 
queries are executed.
     add 32d24eaa26 Restore the deferred object creation in 
`IdentifiedObjectFinder` and the omission of database scanning when a match is 
found early.
     add 908f46ccbe Reduce the risk of exhaustive scan of the EPSG database 
when searching for the authority code of a singleton.
     add 96061e870a `TableInfo` needs to support the new types used in EPSG 
version 10+. In particular, we use `DynamicReferenceFrance` as a mixin 
interface. Also be more precise in the number of dimensions of geographic CRS.
     add c9641c4260 Fix some (not all) JUnit test failures observed when using 
version 12 of the EPSG geodetic dataset. The fixes preserve compatibility with 
version 9 of EPSG (for now, we revisit in the future).
     new 4e0bc740bc Merge branch 'geoapi-4.0' into geoapi-3.1. The merge 
improves the way that the authority factory search for EPSG codes in the 
database. This review was necessary because of new datum types, but also 
improves performance. This merge also fixes more test cases with version 12 of 
the EPSG database.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/sis/console/CRSCommandTest.java     |   2 +-
 .../sis/coverage/grid/DimensionalityReduction.java |   2 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |   2 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   2 +-
 .../sis/coverage/grid/ResampledGridCoverage.java   |   7 +-
 .../geometry/wrapper/SpatialOperationContext.java  |   9 +-
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |   5 +-
 .../coverage/grid/DimensionalityReductionTest.java |   2 +-
 .../metadata/iso/extent/DefaultVerticalExtent.java |   3 +-
 .../sis/metadata/privy/NameToIdentifier.java       |   2 +-
 .../sis/metadata/sql/privy/SQLUtilities.java       |  61 +-
 .../org/apache/sis/metadata/sql/privy/Syntax.java  |   2 +-
 .../main/org/apache/sis/temporal/TemporalDate.java |   2 +-
 .../sis/metadata/sql/privy/SQLUtilitiesTest.java   |   4 +-
 .../sis/openoffice/ReferencingFunctions.java       |   2 +-
 .../sis/openoffice/ReferencingFunctionsTest.java   |   5 +-
 .../org/apache/sis/map/coverage/RenderingData.java |   3 +-
 .../main/org/apache/sis/portrayal/Canvas.java      |  13 +-
 .../gazetteer/AbstractLocationType.java            |   4 +-
 .../gazetteer/GeohashReferenceSystem.java          |   5 +-
 .../gazetteer/MilitaryGridReferenceSystem.java     |   5 +-
 .../gazetteer/ReferencingByIdentifiers.java        |   4 +-
 .../sis/coordinate/DefaultCoordinateMetadata.java  |   4 +-
 .../sis/geometry/AbstractDirectPosition.java       |   6 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |   2 +-
 .../org/apache/sis/geometry/EnvelopeReducer.java   |   5 +-
 .../main/org/apache/sis/geometry/Envelopes.java    |   6 +-
 .../apache/sis/geometry/WraparoundAdjustment.java  |   3 +-
 .../main/org/apache/sis/io/wkt/Formatter.java      |   2 +-
 .../apache/sis/io/wkt/GeodeticObjectParser.java    | 125 ++--
 .../sis/parameter/DefaultParameterDescriptor.java  |   6 +-
 .../sis/parameter/DefaultParameterValueGroup.java  |   8 +-
 .../parameter/UnmodifiableParameterValueGroup.java |   8 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |  15 +-
 .../apache/sis/referencing/AuthorityFactories.java |  54 +-
 .../main/org/apache/sis/referencing/Builder.java   |   4 +-
 .../main/org/apache/sis/referencing/CRS.java       |  39 +-
 .../main/org/apache/sis/referencing/CommonCRS.java |  40 +-
 .../sis/referencing/DefaultObjectDomain.java       |   3 +-
 .../sis/referencing/EPSGFactoryFallback.java       |  41 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |  39 +-
 .../sis/referencing/StandardDefinitions.java       |  70 ++-
 .../apache/sis/referencing/crs/AbstractCRS.java    |  97 +--
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   4 +-
 .../sis/referencing/crs/AbstractSingleCRS.java     |  53 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |  50 +-
 .../sis/referencing/crs/DefaultDerivedCRS.java     |  46 +-
 .../sis/referencing/crs/DefaultEngineeringCRS.java |  10 +
 .../sis/referencing/crs/DefaultGeodeticCRS.java    |  16 +-
 .../sis/referencing/crs/DefaultParametricCRS.java  |  10 +
 .../sis/referencing/crs/DefaultProjectedCRS.java   |  18 +-
 .../sis/referencing/crs/DefaultTemporalCRS.java    |   9 +
 .../sis/referencing/crs/DefaultVerticalCRS.java    |  10 +
 .../org/apache/sis/referencing/cs/AbstractCS.java  |  93 +--
 .../sis/referencing/cs/DefaultCompoundCS.java      |  40 +-
 .../cs/DefaultCoordinateSystemAxis.java            |   4 +-
 .../sis/referencing/datum/AbstractDatum.java       |  10 +-
 .../sis/referencing/datum/DatumOrEnsemble.java     | 272 ++++++--
 .../referencing/datum/DefaultDatumEnsemble.java    |   4 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    |  11 +-
 .../referencing/datum/DefaultGeodeticDatum.java    |   6 +-
 .../sis/referencing/datum/DefaultImageDatum.java   |   4 +-
 .../referencing/datum/DefaultPrimeMeridian.java    |  14 +-
 .../referencing/datum/DefaultTemporalDatum.java    |   4 +-
 .../referencing/datum/DefaultVerticalDatum.java    |  34 +-
 .../factory/AuthorityFactoryIdentifier.java        |  19 +-
 .../factory/ConcurrentAuthorityFactory.java        | 130 +++-
 .../factory/IdentifiedObjectFinder.java            | 686 +++++++++++++--------
 .../factory/MultiAuthoritiesFactory.java           | 113 +++-
 .../referencing/factory/sql/AuthorityCodes.java    | 177 ++++--
 .../factory/sql/CloseableReference.java            |   6 +
 .../referencing/factory/sql/EPSGCodeFinder.java    | 395 ++++++++++--
 .../referencing/factory/sql/EPSGDataAccess.java    | 531 ++++++++--------
 .../sis/referencing/factory/sql/EPSGFactory.java   |  32 +-
 .../sis/referencing/factory/sql/EPSGInstaller.java |  27 +-
 .../factory/sql/InstallationScriptProvider.java    | 198 +-----
 .../referencing/factory/sql/ObjectPertinence.java  |  11 +-
 .../sis/referencing/factory/sql/SQLTranslator.java |  34 +-
 .../sis/referencing/factory/sql/TableInfo.java     | 501 +++++++++------
 .../referencing/internal/EPSGParameterDomain.java  |   4 +-
 .../sis/referencing/internal/MergedProperties.java |   4 +-
 .../referencing/internal/PositionTransformer.java  |   6 +-
 .../apache/sis/referencing/internal/RTreeNode.java |   4 +-
 .../referencing/internal/VerticalDatumTypes.java   |  16 +-
 .../operation/AbstractCoordinateOperation.java     |  20 +-
 .../operation/AbstractSingleOperation.java         |   4 +-
 .../apache/sis/referencing/operation/CRSPair.java  |   7 +-
 .../operation/CoordinateOperationFinder.java       |   2 +-
 .../operation/CoordinateOperationRegistry.java     |   9 +-
 .../operation/DefaultConcatenatedOperation.java    |   1 +
 .../operation/DefaultOperationMethod.java          |  10 +-
 .../sis/referencing/operation/matrix/Matrices.java |  15 +-
 .../operation/projection/NormalizedProjection.java |   6 +-
 .../operation/provider/Mercator1SP.java            |   7 +-
 .../operation/provider/ObliqueMercator.java        |  12 +-
 .../operation/provider/PolarStereographicA.java    |   2 +-
 .../operation/provider/PseudoMercator.java         |   7 +-
 .../operation/provider/TransverseMercator.java     |   2 +-
 .../operation/transform/AbstractMathTransform.java |   2 +-
 .../operation/transform/ConcatenatedTransform.java |  15 +-
 .../transform/EllipsoidToRadiusTransform.java      |   6 +-
 .../operation/transform/PoleRotation.java          |   1 +
 .../sis/referencing/privy/AxisDirections.java      |   4 +-
 .../sis/referencing/privy/FilteredIterator.java    | 113 ++++
 .../org/apache/sis/referencing/privy/LazySet.java  |  25 +-
 .../apache/sis/referencing/privy/WKTUtilities.java |  32 -
 .../org/apache/sis/referencing/Assertions.java     |  69 ++-
 .../sis/referencing/AuthorityFactoriesTest.java    |   2 +-
 .../test/org/apache/sis/referencing/CRSTest.java   |   4 +-
 .../org/apache/sis/referencing/CommonCRSTest.java  |   4 +-
 .../sis/referencing/EPSGFactoryFallbackTest.java   |   2 +-
 .../sis/referencing/StandardDefinitionsTest.java   |  29 +
 .../factory/CommonAuthorityFactoryTest.java        |   4 +-
 .../factory/ConcurrentAuthorityFactoryTest.java    |   2 +-
 .../factory/GeodeticObjectFactoryTest.java         |   3 +-
 .../factory/IdentifiedObjectFinderTest.java        |   3 +-
 .../referencing/factory/sql/EPSGFactoryTest.java   |  59 +-
 .../referencing/factory/sql/EPSGInstallerTest.java |  20 +-
 .../factory/sql/EPSGScriptProvider.java            | 113 ++++
 .../sis/referencing/factory/sql/TableInfoTest.java |  14 +-
 .../transform/DefaultMathTransformFactoryTest.java |   2 +-
 .../report/CoordinateOperationMethods.java         |   2 +-
 .../sis/test/integration/ConsistencyTest.java      |  63 +-
 .../integration/CoordinateReferenceSystemTest.java |  33 -
 .../sis/storage/geotiff/reader/CRSBuilder.java     |   6 +-
 .../apache/sis/storage/netcdf/base/AxisType.java   |   2 +-
 .../apache/sis/storage/netcdf/base/CRSMerger.java  |   4 +-
 .../sis/storage/sql/feature/InfoStatements.java    |  14 +-
 .../sis/storage/sql/feature/SelectionClause.java   |   4 +-
 .../sis/storage/aggregate/CoverageAggregator.java  |   2 +-
 .../apache/sis/storage/aggregate/GroupByCRS.java   |   4 +-
 .../apache/sis/storage/image/WritableStore.java    |   2 +-
 .../apache/sis/setup/InstallationResources.java    |   2 +-
 .../main/org/apache/sis/util/CharSequences.java    |  66 +-
 .../main/org/apache/sis/util/ComparisonMode.java   | 146 +++--
 .../org/apache/sis/util/LenientComparable.java     |  18 +-
 .../main/org/apache/sis/util/Utilities.java        |   2 +-
 .../org/apache/sis/util/collection/TreeTable.java  |   2 +-
 .../main/org/apache/sis/util/logging/Logging.java  |   2 +-
 .../main/org/apache/sis/util/privy/Constants.java  |   1 +
 .../main/org/apache/sis/util/privy/Numerics.java   |   2 +-
 .../apache/sis/util/privy/SetOfUnknownSize.java    |   6 +-
 .../main/org/apache/sis/util/resources/Errors.java |   7 +-
 .../apache/sis/util/resources/Errors.properties    |   1 -
 .../apache/sis/util/resources/Errors_fr.properties |   1 -
 .../test/org/apache/sis/test/Assertions.java       |   4 +-
 .../org/apache/sis/util/CharSequencesTest.java     |   5 +-
 .../main/org/apache/sis/geometries/Geometries.java |   3 +-
 .../org/apache/sis/geometries/PreparedTIN.java     |  12 +-
 .../apache/sis/geometries/math/AbstractTuple.java  |   4 +-
 .../main/org/apache/sis/geometries/math/Tuple.java |   4 +-
 .../geometries/mesh/MeshPrimitiveComparator.java   |   6 +-
 .../sis/geometries/mesh/MultiMeshPrimitive.java    |   4 +-
 .../sis/geometries/processor/ProcessorUtils.java   |   8 +-
 .../simplify/greedyinsert/TINBuilder.java          |   4 +-
 netbeans-project/nbproject/project.xml             |   1 +
 optional/build.gradle.kts                          |  18 +-
 .../main/org/apache/sis/gui/map/StatusBar.java     |   2 +-
 .../gui/referencing/PositionableProjection.java    |   3 +-
 .../sis/resources/embedded/EmbeddedResources.java  |  14 +-
 .../sis/resources/embedded/package-info.java       |  12 +-
 .../resources/embedded/EmbeddedResourcesTest.java  |  40 +-
 .../apache/sis/resources/embedded/Generator.java   | 117 ++--
 .../sis/referencing/factory/sql/epsg/.gitignore    |   5 +-
 .../sis/referencing/factory/sql/epsg/Finish.sql    |   0
 .../sis/referencing/factory/sql/epsg/Prepare.sql   |   4 +-
 .../sis/referencing/factory/sql/epsg/README.md     |  13 +-
 .../factory/sql/epsg/ScriptProvider.java           |  32 +-
 .../referencing/factory/sql/epsg/DebugTools.sql    |  10 +
 .../factory/sql/epsg/ScriptProviderTest.java       |   4 +-
 170 files changed, 3531 insertions(+), 2161 deletions(-)
 create mode 100644 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/FilteredIterator.java
 create mode 100644 
endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/EPSGScriptProvider.java
 rename 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSG_Finish.sql
 => 
optional/src/org.apache.sis.referencing.epsg/main/org/apache/sis/referencing/factory/sql/epsg/Finish.sql
 (100%)
 rename 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSG_Prepare.sql
 => 
optional/src/org.apache.sis.referencing.epsg/main/org/apache/sis/referencing/factory/sql/epsg/Prepare.sql
 (91%)

Reply via email to