This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
from 586f44a6d9 Add "Geographic/topocentric conversions" (EPSG:9837). new 6a5584c486 Replace `Context.setSource(EllipsoidalCS, Ellipsoid)` method by `setSource(GeodeticCRS)`. The rational which was in previous method is actually inexact: we may need the ellipsoid even with non-ellipsoidal CS, if the CRS is geocentric. new 5fa9fcb7dd Fix an ambiguity in the parsing of the WKT of a derived CRS using "[Geographic|Geocentric]/Topocentric" conversions. The problem is that the `BaseGeodCRS` element does not specify if the CS of the base CRS is ellipsoidal or Cartesian, so we have to infer that information from the operation method. new f92855ab0f WKT of DerivedCRS should exclude semi-major and semi-minor parameters when they can be inferred from the geodetic datum. This is the same policy than the one currently applied on ProjectedCRS WKT. new 1638e57791 Complete documentation and remove an exclusion for a test which now passes. The 4 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: .../internal/referencing/ReferencingUtilities.java | 39 +++--- .../referencing/provider/AbridgedMolodensky.java | 12 +- .../referencing/provider/AbstractLambert.java | 14 +-- .../referencing/provider/AbstractMercator.java | 14 +-- .../referencing/provider/AbstractProvider.java | 99 ++++++++++----- .../provider/AbstractStereographic.java | 14 +-- .../referencing/provider/AlbersEqualArea.java | 14 +-- .../referencing/provider/AxisOrderReversal.java | 23 ++-- .../referencing/provider/AxisOrderReversal3D.java | 4 +- .../provider/AzimuthalEquidistantSpherical.java | 12 +- .../referencing/provider/CassiniSoldner.java | 7 +- .../provider/CoordinateFrameRotation.java | 12 +- .../provider/CoordinateFrameRotation2D.java | 12 +- .../provider/CoordinateFrameRotation3D.java | 12 +- .../referencing/provider/Equirectangular.java | 31 ++--- .../provider/FranceGeocentricInterpolation.java | 21 ++-- .../referencing/provider/GeocentricAffine.java | 56 ++++++--- .../GeocentricAffineBetweenGeographic.java | 35 +++--- .../provider/GeocentricToGeographic.java | 29 +---- .../provider/GeocentricToTopocentric.java | 50 ++++---- .../provider/GeocentricTranslation.java | 12 +- .../provider/GeocentricTranslation2D.java | 12 +- .../provider/GeocentricTranslation3D.java | 12 +- .../referencing/provider/GeodeticOperation.java | 45 +++---- .../referencing/provider/Geographic2Dto3D.java | 4 +- .../referencing/provider/Geographic3Dto2D.java | 4 +- .../referencing/provider/GeographicOffsets.java | 12 +- .../provider/GeographicRedimension.java | 25 ++-- .../provider/GeographicToGeocentric.java | 27 +---- .../provider/GeographicToTopocentric.java | 53 ++++---- .../referencing/provider/Interpolation1D.java | 17 +-- .../provider/LambertAzimuthalEqualArea.java | 16 +-- .../provider/LambertCylindricalEqualArea.java | 14 +-- .../LambertCylindricalEqualAreaSpherical.java | 14 +-- .../referencing/provider/MapProjection.java | 45 +++---- .../referencing/provider/MapProjection3D.java | 26 +--- .../provider/ModifiedAzimuthalEquidistant.java | 12 +- .../internal/referencing/provider/Mollweide.java | 5 +- .../internal/referencing/provider/Molodensky.java | 12 +- .../sis/internal/referencing/provider/NADCON.java | 17 +-- .../sis/internal/referencing/provider/NTv1.java | 17 +-- .../sis/internal/referencing/provider/NTv2.java | 17 +-- .../referencing/provider/NorthPoleRotation.java | 17 +-- .../referencing/provider/Orthographic.java | 14 +-- .../internal/referencing/provider/Polyconic.java | 14 +-- .../referencing/provider/PositionVector7Param.java | 10 +- .../provider/PositionVector7Param2D.java | 12 +- .../provider/PositionVector7Param3D.java | 12 +- .../referencing/provider/PseudoPlateCarree.java | 18 +-- .../referencing/provider/SatelliteTracking.java | 5 +- .../internal/referencing/provider/Sinusoidal.java | 5 +- .../referencing/provider/SouthPoleRotation.java | 17 +-- .../referencing/provider/VerticalOffset.java | 14 ++- .../internal/referencing/provider/Wraparound.java | 17 +-- .../provider/ZonedTransverseMercator.java | 31 ++--- .../referencing/provider/package-info.java | 2 +- .../apache/sis/io/wkt/GeodeticObjectParser.java | 71 ++++++----- .../java/org/apache/sis/io/wkt/package-info.java | 2 +- .../sis/referencing/crs/DefaultDerivedCRS.java | 34 +----- .../sis/referencing/crs/DefaultProjectedCRS.java | 85 +------------ .../sis/referencing/crs/ExplicitParameters.java | 133 +++++++++++++++++++++ .../sis/referencing/cs/CoordinateSystems.java | 15 +++ .../referencing/factory/sql/EPSGDataAccess.java | 6 + .../operation/CoordinateOperationFinder.java | 5 +- .../operation/CoordinateOperationRegistry.java | 4 +- .../referencing/operation/DefaultConversion.java | 4 +- .../transform/DefaultMathTransformFactory.java | 116 +++++++++++++----- .../referencing/provider/ProviderMock.java | 14 ++- .../referencing/provider/SeismicBinGridMock.java | 2 +- .../sis/io/wkt/GeodeticObjectParserTest.java | 50 +++++++- .../java/org/apache/sis/referencing/CRSTest.java | 2 + .../sis/referencing/crs/DefaultDerivedCRSTest.java | 8 +- .../sis/test/integration/ConsistencyTest.java | 3 +- .../integration/CoordinateReferenceSystemTest.java | 38 +++++- .../apache/sis/test/integration/package-info.java | 2 +- .../org/apache/sis/referencing/crs/DerivedCRS.xml | 2 +- 76 files changed, 814 insertions(+), 898 deletions(-) create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/ExplicitParameters.java