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%)