You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2022/02/11 13:18:47 UTC

[sis] branch geoapi-3.1 updated (eb9ad08 -> db2fc14)

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 eb9ad08  Merge branch 'geoapi-4.0' into geoapi-3.1.
     add d8b9343  Move some metadata fields in a separated `ImageMetadataBuilder` class. The goal is to make their life cycle more visible, especially `XMLMetadata` which causes confusing metadata tree if not merged last.
     add afc247a  Add a `Citations.WMO` constant for the World Meteorological Organization.
     add 9dde363  Provide a way to alter parameter values of inverse operation in a call to `ContextualParameters.inverse(…)`.
     add 33d5d46  Add "Rotated Latitude/Longitude" coordinate operation.
     add f4fa0fb  Parameter in traditional order for factory methods. The `transform(…)` methods keep the "internal" order.
     add 78a95a0  Add an `isIdentity()` method.
     add b677477  Add tests for north pole rotation.
     add 61aa869  Move `fastHypot` in a location where `RotatedPole` can use. This is mostly for documenting why we use that function.
     add f537ce2  Fix an error in the determination of parameter values for inverse of "Rotated North Pole".
     add 5cc6821  Override the most commonly used `transform(…)` variant for efficiency.
     add c7a27e4  Add transform derivative (Jacobian matrix) for rotated pole. This work completes https://issues.apache.org/jira/browse/SIS-533
     add fe14e14  Add a `DIMENSION` constant in `AbstractMathTransform2D` for code clarity.
     add 4080d18  Rename `RotatedPole` as `PoleRotation` for consistency with EPSG database usage (e.g. "Longitude rotation") and with example in ISO 19162.
     add d564ace  Add parameter names derived from ISO 19162 WKT example for `PoleRotation` operation method. We use SIS namespace for now, but may change to OGC later if those names are adopted by OGC.
     add c541c4e  Clarify the meaning of axis rotation (the last rotation in "Pole rotation" operation method).
     add fa203fe  Temporary disallow non-zero axis rotation for the "North pole rotation" case, until we resolved an ambiguity about the sign of this rotation angle.
     add 8983130  Fix a few typos in javadoc.
     add 17167a7  Fix a bug in TIFF LZW compression when the code size is about to move to 13 bits (which is illegal) but is immediately followed by a `CLEAR_CODE` (which make it okay).
     add 1649034  Provide more information in case of errors.
     add 2e0a10b  Make error message more understandable.
     add d30a19d  Remove workarounds that are no longer needed when building with JDK 17 (even if the compilation result still target Java 8). Add workaround for https://bugs.openjdk.java.net/browse/JDK-8166038
     add 8cf914d  Add a "last resort" workaround for JDK-8166038 for handling the cases where the `Raster` instance has not been created by ourselves.
     add 4466b31  Add a test case for https://issues.apache.org/jira/browse/SIS-514 (was probably already fixed in SIS 1.1 release).
     add 5984d02  More efficient and silent handling of `PropertyValue` when the given name is not a property of the feature.
     add 865ea92  Bug fix: `PointOutsideCoverageException` was not correctly made silent when point is outside coverage.
     add 5959330  Avoid creating inverse transform when not needed.
     add 991733b  Change the way "North pole rotation" is created and change the way the inverse operation is created. The north pole case is now implemented as a "South pole rotation" operation rotating the antipodal point. It causes a 180° offset in longitude, but this is intended according the following definition from COSMO:
     add 4c5e164  Simplify the formulas for φ, ∂y/∂λ and ∂y/∂φ (atan2 replaced by asin).
     add 439b007  Remove `PoleRotationMock`, replaced by the real operation. It forces us to remove the constraint on the θp parameter value.
     add 295bee7  Fix an inacurate documentation about the 0° (or 180°) meridian passing through geographic and rotated poles.
     add be4d34e  Fix a confusing use of "orginal values" in documentation.
     add 4fbf95d  Typos: "the intend" → "the intent", "parameters values" → "parameter values".
     add a3ab666  Try to make the search for coordinate operations (between a pair of CRS) less costly by avoiding extensive searches of CRS candidates before simpler attempts failed. As a side effect, make the cache of above-cited searches more deterministic.
     add 1f4f8a9  Reduce the number of CRS created during search of coordinate operations. We address the issue by adding IdentifiedObjectFinder.Domain.EXHAUSTIVE_VALID_DATASET enumeration value, whih also appears to simplify code as a side-effect.
     add 579f77e  Simplify the `IdentifiedObjectFinder` cache by removing the flags about explicitely requested object. The objects searched indirectly are not so numerous, and sometime shared by other searches.
     add 9dd1fc3  Add GeoTIFF and PROJ names and identifiers for "Azimuthal Equidistant". A verification in Snyder's book suggests that what other projects call "Azimuthal Equidistant" is actually the "Modified Azimuthal Equidistant" approximation (both were designed for islands in Micronesia). Another source is https://cfconventions.org/wkt-proj-4.html
     add 5cd9557  Avoid a NullPointerException. This is a temporary fix will waiting a better fix of https://issues.apache.org/jira/browse/SIS-536
     add 6a5ec9f  Fix a sometime wrong "possible inconsistency" message saying that "width" or "height" was the problem.
     add 8b9a1ce  Relax the constraint on tile size for the last tile in a row or column.
     add 1112b90  Upgrade dependency version.
     add db2fc14  Merge branch 'geoapi-4.0' into geoapi-3.1

No new revisions were added by this update.

Summary of changes:
 .../apache/sis/gui/coverage/CoverageCanvas.java    |   5 +-
 .../org/apache/sis/internal/gui/GUIUtilities.java  |   2 +-
 .../apache/sis/internal/gui/ImageConverter.java    |   5 +-
 .../java/org/apache/sis/coverage/CategoryList.java |  23 +-
 .../coverage/grid/FractionalGridCoordinates.java   |  18 +-
 .../apache/sis/coverage/grid/GridCoverage2D.java   |   9 +-
 .../apache/sis/coverage/grid/GridEvaluator.java    |  16 +-
 .../java/org/apache/sis/filter/PropertyValue.java  |  17 +-
 .../java/org/apache/sis/image/PixelIterator.java   |  54 +-
 .../java/org/apache/sis/image/PlanarImage.java     |  17 +-
 .../java/org/apache/sis/image/ResamplingGrid.java  |   5 -
 .../sis/internal/coverage/j2d/TilePlaceholder.java |  21 +-
 .../sis/coverage/grid/GridCoverage2DTest.java      |  28 +-
 .../sis/coverage/grid/GridDerivationTest.java      |  28 ++
 .../org/apache/sis/internal/metadata/Merger.java   |   5 +-
 .../sis/metadata/iso/citation/Citations.java       |  14 +-
 .../sis/metadata/iso/citation/package-info.java    |   2 +-
 .../apache/sis/metadata/sql/MetadataFallback.java  |   9 +-
 .../org/apache/sis/metadata/sql/Citations.sql      |   9 +-
 .../internal/map/coverage/RenderingWorkaround.java | 104 ++++
 .../apache/sis/internal/referencing/Formulas.java  |  48 +-
 .../referencing/j2d/AffineTransform2D.java         |   2 +-
 .../provider/ModifiedAzimuthalEquidistant.java     |  13 +-
 .../referencing/provider/NorthPoleRotation.java    | 160 ++++++
 .../referencing/provider/SouthPoleRotation.java    | 169 +++++++
 .../referencing/provider/package-info.java         |   2 +-
 .../java/org/apache/sis/parameter/Parameters.java  |   2 +-
 .../org/apache/sis/parameter/TensorValues.java     |   2 +-
 .../factory/ConcurrentAuthorityFactory.java        | 138 ++----
 .../factory/IdentifiedObjectFinder.java            | 106 ++--
 .../factory/MultiAuthoritiesFactory.java           |   8 +-
 .../operation/CoordinateOperationContext.java      |   4 +-
 .../operation/CoordinateOperationRegistry.java     | 106 +++-
 .../sis/referencing/operation/package-info.java    |   2 +-
 .../projection/LambertConicConformal.java          |   1 +
 .../projection/ModifiedAzimuthalEquidistant.java   |   2 +-
 .../operation/projection/NormalizedProjection.java |  57 +--
 .../operation/projection/ObliqueMercator.java      |   1 +
 .../operation/projection/ObliqueStereographic.java |   1 +
 .../operation/projection/PolarStereographic.java   |   1 +
 .../operation/projection/package-info.java         |   2 +-
 .../transform/AbstractLinearTransform.java         |   2 +-
 .../operation/transform/AbstractMathTransform.java |   8 +-
 .../transform/AbstractMathTransform2D.java         |  28 +-
 .../operation/transform/ConcatenatedTransform.java |  10 +-
 .../transform/ConcatenatedTransform2D.java         |   4 +-
 .../transform/ConcatenatedTransformDirect.java     |   4 +-
 .../transform/ConcatenatedTransformDirect2D.java   |   4 +-
 .../operation/transform/ConstantTransform1D.java   |   8 +-
 .../operation/transform/ContextualParameters.java  | 107 ++--
 .../transform/CoordinateSystemTransform.java       |   2 +-
 .../operation/transform/CopyTransform.java         |   4 +-
 .../operation/transform/DatumShiftTransform.java   |   2 +-
 .../transform/DefaultMathTransformFactory.java     |   2 +-
 .../transform/EllipsoidToCentricTransform.java     |  10 +-
 .../transform/ExponentialTransform1D.java          |   8 +-
 .../operation/transform/IdentityTransform.java     |  10 +-
 .../operation/transform/IdentityTransform1D.java   |   8 +-
 .../InterpolatedGeocentricTransform2D.java         |   4 +-
 .../InterpolatedMolodenskyTransform2D.java         |   4 +-
 .../operation/transform/InterpolatedTransform.java |   2 +-
 .../transform/InterpolatedTransform2D.java         |   4 +-
 .../operation/transform/LinearTransform1D.java     |  12 +-
 .../transform/LogarithmicTransform1D.java          |   8 +-
 .../operation/transform/MolodenskyFormula.java     |   2 +-
 .../operation/transform/MolodenskyTransform2D.java |   2 +-
 .../operation/transform/PassThroughTransform.java  |  10 +-
 .../operation/transform/PoleRotation.java          | 550 +++++++++++++++++++++
 .../operation/transform/PowerTransform1D.java      |   8 +-
 .../operation/transform/ProjectiveTransform.java   |  13 +-
 .../operation/transform/ScaleTransform.java        |   2 +-
 .../operation/transform/TranslationTransform.java  |   2 +-
 .../operation/transform/WraparoundTransform.java   |   4 +-
 .../operation/transform/package-info.java          |   2 +-
 ...g.opengis.referencing.operation.OperationMethod |   2 +
 .../referencing/provider/PoleRotationMock.java     |  60 ---
 .../referencing/provider/ProvidersTest.java        |   4 +-
 .../referencing/provider/SeismicBinGridMock.java   |   2 +-
 .../provider/TopocentricConversionMock.java        |   2 +-
 .../factory/ConcurrentAuthorityFactoryTest.java    |  17 +-
 .../referencing/factory/sql/EPSGFactoryTest.java   |   9 +-
 .../projection/MapProjectionTestCase.java          |   2 +-
 .../sis/referencing/operation/projection/NoOp.java |   3 +-
 .../projection/ProjectionResultComparator.java     |   4 +-
 .../operation/transform/MathTransformWrapper.java  |   8 +-
 .../operation/transform/PoleRotationTest.java      | 329 ++++++++++++
 .../sis/test/suite/ReferencingTestSuite.java       |   1 +
 ...g.opengis.referencing.operation.OperationMethod |   1 -
 .../apache/sis/internal/util/CollectionsExt.java   |   4 +-
 .../org/apache/sis/util/resources/Messages.java    |   5 +
 .../apache/sis/util/resources/Messages.properties  |   1 +
 .../sis/util/resources/Messages_fr.properties      |   1 +
 ide-project/NetBeans/nbproject/project.properties  |   2 +-
 pom.xml                                            |   4 +-
 .../org/apache/sis/internal/geotiff/Resources.java |   4 +-
 .../sis/internal/geotiff/Resources.properties      |   2 +-
 .../sis/internal/geotiff/Resources_fr.properties   |   2 +-
 .../sis/internal/storage/inflater/CCITTRLE.java    |   4 +-
 .../storage/inflater/CompressionChannel.java       |   2 +-
 .../storage/inflater/HorizontalPredictor.java      |   2 +-
 .../sis/internal/storage/inflater/Inflater.java    |   2 +-
 .../apache/sis/internal/storage/inflater/LZW.java  |  47 +-
 .../sis/internal/storage/inflater/PackBits.java    |   4 +-
 .../internal/storage/inflater/PixelChannel.java    |   2 +-
 .../storage/inflater/PredictorChannel.java         |   4 +-
 .../apache/sis/internal/storage/inflater/ZIP.java  |   6 +-
 .../org/apache/sis/storage/geotiff/CRSBuilder.java |  22 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    | 139 +-----
 .../sis/storage/geotiff/ImageMetadataBuilder.java  | 234 +++++++++
 .../apache/sis/storage/geotiff/NativeMetadata.java |   2 +-
 .../apache/sis/storage/geotiff/XMLMetadata.java    |  44 +-
 .../sis/storage/geotiff/XMLMetadataTest.java       |   4 +-
 .../org/apache/sis/internal/netcdf/Linearizer.java |   2 +-
 .../sis/internal/storage/MetadataBuilder.java      |  49 +-
 .../sis/internal/storage/TiledGridCoverage.java    |   3 +
 .../internal/storage/MemoryGridResourceTest.java   |   8 +-
 116 files changed, 2397 insertions(+), 720 deletions(-)
 create mode 100644 core/sis-portrayal/src/main/java/org/apache/sis/internal/map/coverage/RenderingWorkaround.java
 create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NorthPoleRotation.java
 create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/SouthPoleRotation.java
 create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java
 delete mode 100644 core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/PoleRotationMock.java
 create mode 100644 core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/PoleRotationTest.java
 create mode 100644 storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageMetadataBuilder.java